设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 218|回复: 35

HTML5之高度塌陷问题的解决

[复制链接]

1

主题

116

回帖

253

积分

等待验证会员

积分
253

热心会员付费会员

发表于 2024-4-20 10:33:29 | 显示全部楼层 |阅读模式
所谓的高度塌陷,意即当给子元素设置浮动时,其父元素高度会丢失的情况。通过实际代码进行演示:
  1. <!DOCTYPE html>
  2. <html lang="en">

  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>Document</title>
  8.     <style>
  9.         main {
  10.             width: 100%;
  11.             background-color: #ccc;
  12.         }
  13.         
  14.         .one {
  15.             float: left;
  16.             width: 200px;
  17.             height: 200px;
  18.             background-color: skyblue;
  19.         }
  20.         
  21.         .two {
  22.             float: right;
  23.             width: 200px;
  24.             height: 200px;
  25.             background-color: tomato;
  26.         }
  27.         
  28.         section {
  29.             width: 400px;
  30.             height: 400px;
  31.             background-color: orange;
  32.         }
  33.     </style>
  34. </head>

  35. <body>
  36.     <main>
  37.         <div class="one"></div>
  38.         <div class="two"></div>
  39.     </main>
  40.     <section></section>
  41. </body>

  42. </html>
复制代码
初始时的效果,高度出现塌陷,下部的橘色模块会上移。现给出五种解决方案:

一、给父元素设置固定高度,虽然简便,但不推荐使用,因为网页的内容是动态变化的,给定高度不利于后期内容增添。
给main父级加上高度,设为200px即可

对应运行结果:

二、将父元素的overflow设为一个非visible值,适用于子元素未溢出的情形。这里给main设置overflow:hidden,效果同上图一样

对应运行结果:

三、利用clear属性清除浮动影响。
先于main中添加一个类名为box的空div标签,再于style中设置其clear属性,实现效果同上


对应运行结果:

四、利用after伪类给父级添加一个空块级内容,并设置clear属性
这种方法可以看作是第三种方法的优化,因为一个空标签其实是比较多余的,可以通过after伪类进行添加。添加下图代码后,便能解决问题。

对应运行结果:

五、直接使用clearfix类,引入以下代码

之后向main添加clearfix类即可

对应运行结果:

到此这篇关于HTML5之高度塌陷问题的解决的文章就介绍到这了,更多相关HTML5高度塌陷内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

57

回帖

111

积分

注册会员

积分
111
发表于 2024-4-22 07:37:10 | 显示全部楼层
保持尊重和礼貌对待其他成员是必要的。

1

主题

132

回帖

288

积分

中级会员

积分
288
发表于 2024-5-6 11:15:34 | 显示全部楼层
谢谢你的提醒,我会注意的。

1

主题

127

回帖

272

积分

中级会员

积分
272
发表于 2024-5-16 09:13:03 | 显示全部楼层
太棒了!感谢分享这个信息!

0

主题

101

回帖

200

积分

中级会员

积分
200
发表于 2024-5-23 07:10:35 | 显示全部楼层
好用好用

2

主题

104

回帖

251

积分

中级会员

积分
251
发表于 2024-6-2 04:51:04 | 显示全部楼层
牛逼

0

主题

95

回帖

191

积分

注册会员

积分
191
发表于 2024-6-8 11:38:25 | 显示全部楼层
6666666666
  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:12
  • 最近打卡:2024-05-27 11:13:31

2

主题

95

回帖

247

积分

中级会员

积分
247
发表于 2024-6-27 00:56:53 | 显示全部楼层
6666666666
  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:9
  • 最近打卡:2024-04-29 17:53:11

1

主题

148

回帖

402

积分

中级会员

积分
402
发表于 2024-7-21 20:49:44 | 显示全部楼层
感谢分享,受益匪浅!

1

主题

97

回帖

217

积分

中级会员

积分
217
发表于 2024-7-31 13:14:08 | 显示全部楼层
说得太好了,完全同意!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2025-5-18 22:28 , Processed in 0.167613 second(s), 46 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表