CSS中伪元素after的作用

html-css034

CSS中伪元素after的作用,第1张

作用主要是利用伪元素装饰内容 (无论是装饰图片还是音效) 而不需要更改 HTML 的内容,从而帮助内容与样式更好地分离。因为如果仅仅为了画一个装饰用的三角就在 HTML 里多加一个元素,这上对于实际内容来说其实是多余的,对自动分析网页的语义也可能会产生不好的影响 (这取决于分析程序的具体实现)。

应该说,::before 和 ::after 伪元素的初衷还是用于插入内容——不受文档约束,也不影响文档本身(比如,不影响 DOM),只影响最终的样式。

CSS 规范中给的例子很典型:p.note:before { content: "Note: " } ——这种插入的内容本身其实不是真正的内容,其实是身为文本的样式,所以没必要在 HTML 中重复出现,交给 CSS 来生成会很不错。

不过目前最多见的应用情形的确是把它们用成 content: "" 这样的空元素,然后给这个空元素加上各种样式。这样来说利用的就只是它这个元素的「存在」了(而非元素的内容),已经是讨巧的 hacking 了。

以下的CSS代码中AFTER怎么理解?

那段代码是用来清除浮动的。

以下代码可以这么解释:

.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类名就好了。

如:

div class="head clearfix">/div>

解说完毕,希望对你有帮助。

一年好运随春到 四季彩云滚滚来 万事如意