清除浮动是每一位web前端工程师必须掌握的知识,以下HTMl文件,对div1子标签进行float浮动。如下:
那么要清楚浮动以有下八种方法,让我们一起去看看他们的用法和其中的原理:
1.父级div添加height
原理:父级div指定height,它不能自动获取高度的问题。
优点:简单,代码少,容易掌握
缺点:只适合高度确定的固定的布局
2.结尾处添加空标签clear:both;
原理:添加一个空div,,利用css提高的clear:both清除浮动,让父级div自动获取高度。
优点:浏览器支持好,浏览器不容易出现问题。
缺点:如果页面浮动布局太多, 就得增加很多空的div,让很多初学则不易理解。
3.父级div伪类:after和zoom
原理:原理类似于2;IE8以上浏览器支持:after,zoom是IE专有属性,IE6,7解决浮动的问题
优点:浏览器支持好,不易出现问题。
缺点:得两个命令同时使用才能很好的支持主流浏览器
4.父级div定义overflow:hidden;
原理:必须定义width或者zoom:1,同时,不能指定高度,,使用该命令,浏览器会自动检查浮动区的高度。
优点:浏览器支持好;
缺点:不能和position配合使用,因为超出的部分会被隐藏。
5.父级div定义overflow:auto;
原理:必须定义width或者zoom:1,同时,不能指定高度,,使用该命令,浏览器会自动检查浮动区的高度。
优点:浏览器支持好;
缺点:内部宽高超出父级div时会出现滚动条。
6.父级div也一起浮动原理:所有代码一起浮动就变成一个整体了。
缺点:会产生新的浮动问题,所以不建议使用;
7.父级div定义display:table
原理:将div属性变成表格
不推荐使用
8.结尾处加br标签clear:both
原理:父级div定义zoom:1;来解决IE浮动问题,结尾处加br标签clear:both