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

 找回密码
 立即注册
搜索
查看: 145|回复: 19

HTML5之高度塌陷问题的解决

[复制链接]

1

主题

54

回帖

133

积分

等待验证会员

积分
133

热心会员付费会员

发表于 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

主题

41

回帖

83

积分

注册会员

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

1

主题

76

回帖

176

积分

注册会员

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

1

主题

62

回帖

148

积分

注册会员

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

0

主题

41

回帖

80

积分

注册会员

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

2

主题

49

回帖

143

积分

注册会员

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

0

主题

43

回帖

87

积分

注册会员

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

2

主题

47

回帖

151

积分

注册会员

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

1

主题

103

回帖

342

积分

中级会员

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

1

主题

55

回帖

133

积分

注册会员

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

本版积分规则

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

GMT+8, 2024-11-15 12:12 , Processed in 0.094444 second(s), 29 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

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