使用 after 伪类清除浮动

以前清除浮动的时候总是在想要清除浮动的元素后面添加

1 <div style="clear:both;"></div>

或者写在br标签里面来解决,但这样会增加无语义的标签,下面是用after伪类实现,兼容多种浏览器

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

为兼容IE6,IE7,因为ie6,ie7不能用after伪类。加上下面代码

1 .clearfix{zoom:1}

一般情况下,如果父层内部有浮动(float)可能导致父层的高度为0,加上clearfix后就行了

HTML:

1 <div class="parent clearfix">
2     <div class="left">left</div>
3     <div class="right">right</div>
4 </div>

CSS:

 1 .clearfix{zoom:1}    
 2 .clearfix:after{
 3     content:"";
 4     display:block;
 5     height:0;
 6     clear:both;
 7     visibility:hidden;
 8 }
 9 .parent{
10     background-color:red;
11     width:120px;
12 }
13 .left{
14     float:left;
15     background-color:pink;
16     height:60px;
17 }
18 .right{
19     float:right;
20     background-color:#abcdef;
21 }

 

posted @ 2017-03-01 12:45  (゜-゜)つロ干杯  阅读(1390)  评论(0编辑  收藏  举报