关于清除浮动的问题
来源:2-2 实例的结构和样式
慕粉3915776
2018-07-23 20:21:18
直接在.course中设置overflow: hidden;不就可以了,为什么要.cf:before,.cf:after{
content: " ";
display: block;
}
.cf:after{
clear: both;
}
.cf{
*zoom:1;
}加这些呢?
1回答
樱桃小胖子
2018-07-24
1、overflow: hidden;
原理:必须定义width或zoom:1,同时不能定义height,使用overflow:hidden时,浏览器会自动检查浮动区域的高度
优点:简单,代码少,浏览器支持好
缺点:不能和position配合使用,因为超出的尺寸的会被隐藏
建议:只推荐没有使用position或对overflow:hidden理解比较深的朋友使用
2、伪类:after和zoom
原理:IE8以上和非IE浏览器才支持:after,原理和方法2有点类似,zoom(IE转有属性)可解决ie6,ie7浮动问题
优点:浏览器支持好,不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)
缺点:代码多,不少初学者不理解原理,要两句代码结合使用,才能让主流浏览器都支持
建议:推荐使用,建议定义公共类,以减少CSS代码
每个人的编码习惯不同,使用的方法也是不唯一的,祝学习愉快!
相似问题