标签:both clear 元素 高度 几种 塌陷 hidden overflow
父元素高度自适应,子元素 float 后,造成父元素高度为0,称为高度塌陷问题。
1:给塌陷的元素添加Overflow:hidden;
- 原理:因为overflow:hidden触发一个BFC(独立渲染区)
- (因为BFC布局规则:计算BFC高度的时候,里面浮动元素也参与计算)
- 弊端:overflow:hidden会隐藏定位在元素外面的元素。
2:给浮动元素的下方添加一个空的Div
- 并且给空的div设置样式{clear:both;}
- 原理:clear:both清除两侧浮动。
- 弊端:会形成代码的冗余,造成不必要的浪费,延缓加载。
3:万能清除法。
父元素:after{content:".";clear:both;display:block;height:0;overflow:hidden;visibility:hidden;}
推荐使用!!!
举例:
<div class="bigbox">
<div class="smallbox" style="float: left;">0000</div>
</div>这种情况父元素会塌陷,高度为0
style样式中添加
.bigbox:after{
content:".";clear:both;display:block;height:0;overflow:hidden;visibility:hidden;
}问题就解决了
如果页面结构复杂想要复用代码
可以:.
<div class="bigbox aaa">
<div class="smallbox" style="float: left;">0000</div>
</div>aaa:after{
content:".";clear:both;display:block;height:0;overflow:hidden;visibility:hidden;
}这样:哪里的父元素需要解决高度塌陷的问题,就把aaa添加到class里即可
4:给父元素加固定高度
弊端:内容过多会超出父元素
标签:both,clear,元素,高度,几种,塌陷,hidden,overflow 来源: https://blog.csdn.net/weixin_53581662/article/details/121302002
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。