你那段代码是用来清除浮动的。
以下代码可以这么解释:
.clearfix:after { <----在类名为“clearfix”的元素内最后面加入内容;
content: "."; <----内容为“.”就是一个英文的句号而已。也可以不写。
display: block; <----加入的这个元素转换为块级元素。
clear: both; <----清除左右两边浮动。
visibility: hidden; <----可见度设为隐藏。注意它和display:none;是有区别的。visibility:hidden;仍然占据空间,只是看不到而已;
line-height: 0; <----行高为0;
height: 0; <----高度为0;
font-size:0; <----字体大小为0;
}
.clearfix { *zoom:1;} <----这是针对于IE6的,因为IE6不支持:after伪类,这个神奇的zoom:1让IE6的元素可以清除浮动来包裹内部元素。具体意思的话,不用深究,听说微软的工程师自己都无法解释清楚。height:1%效果也是一样。
整段代码就相当于在浮动元素后面跟了个宽高为0的空div,然后设定它clear:both来达到清除浮动的效果。
之所以用它,是因为,你不必在html文件中写入大量无意义的空标签,又能清除浮动。
话说回来,你这段代码真是个累赘啊,这样写不利于维护。
只要写一个.clearfix就行了,然后在需要清浮动的元素中 添加clearfix类名就好了。
如:
是CSS的选择器
:after 选择器在被选元素的内容后面插入内容。
请使用 content 属性来指定要插入的内容。
用法就是
p:after
{
content:"台词:";
}
实战案例用法:
我们一般这个用来实现某段文字的父元素设置了宽度并且设置了overflow:hidden,这样文字太多导致溢出并且被父元素截取后,那么用这个就可以实现截取后,后面追加... 省略号
相反 还有一个就是
:before
使用方法一样 只不过他是在内容之前插入内容
这两个CSS选择器都是CSS2的 所以在IE8以前的浏览器上使用他们的话 网页文档必须声明 。
楼上的真是高手,有很多知识,我这个做了三年网站的人,都不知道,嗨,不过微软的产品真的都很垃圾。山寨货A货,层出不穷……