关于盒子塌陷的几种解决方法

1、最简单,直接,粗暴的方法就是盒子大小写死,给每个盒子设定固定的width和height,直到合适为止,这样的好处是简单方便,兼容性好,适合只改动少量内容不涉及盒子排布的版面,缺点是非自适应,浏览器的窗口大小直接影响用户体验。

2、给外部的父盒子也添加浮动,让其也脱离标准文档流,这种方法方便,但是对页面的布局不是很友好,不易维护。

3、给父盒子添加overflow属性。
overflow:auto; 有可能出现滚动条,影响美观。
overflow:hidden; 可能会带来内容不可见的问题。

4、父盒子里最下方引入清除浮动块。最简单的有:
<br style="clear:both;"/>
有很多人是这么解决的,但是我们并不推荐,因为其引入了不必要的冗余元素 。

5、after伪类清除浮动。
外部盒子的after伪元素设置clear属性。

1 .mobileBackColor:after{
2         clear: both;
3         content: "";
4         width: 0;
5         height: 0;
6         display: block;
7         visibility: hidden;
8     }

这是一种纯CSS的解决浮动造成盒子塌陷方法,没有引入任何冗余元素,推荐使用此方法来解决CSS盒子塌陷。
备注:第五种方法虽好,但是低版本IE不兼容,具体选择哪种解决方法,可根据实际情况决定。

如果在苹果手机上没有效果的话 可以改写为:

1 .mobileBackColor:after{
2         clear: both;
3         content: "";
4         width: 0;
5         height: 20px; // 给他一个高度
6         display: block;
7         visibility: hidden;
8     }

 
原文地址:https://www.cnblogs.com/xiaozhu-zhu/p/11946896.html