关于清除浮动的问题

来源: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代码

每个人的编码习惯不同,使用的方法也是不唯一的,祝学习愉快!

0

0 学习 · 626 问题

查看课程