CSS伪类元素:before和:after
文章目录
:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下:
1 2 3 4 5 6 7 8 9 |
#example:before { content: "#"; color: red; } #example:after { content: "$"; color: red; } |
这段代码会在#example元素内容之前插入一个’#‘,以及在内容之后添加一个’$‘,插入的行内元素是作为#example的子元素,效果如下:
#Here is the example content$
需要注意的是如果没有content属性,伪类元素将没有任何作用。但是可以指定content为空,同时正如前面所说,插入的内容默认是一个行内元素,并且在HTML源代码中无法看到,这就是为什么称之为伪类元素的理由,所以也就无法通过DOM对其进行操作。
因为可以插入无法通过DOM进行操作的元素,所以被称为伪元素
1 2 3 4 5 6 |
#example:before { content: ""; display: block; width: 100px; height: 100px; } |
伪类元素也会像其他子元素一样正常继承父元素的一些CSS属性,比如字体等。
除了插入文字内容,还可以指定其他内容:
1 2 3 4 5 6 |
p:before { content: url('img.jpg'); } a:after { content: attr(href); } |
attr()函数会返回指定元素对应属性的值
浏览器支持情况 _ Chrome 2+, _ Firefox 3.5+ (3.0 had partial support), _ Safari 1.3+, _ Opera 9.2+, _ IE8+ (with some minor bugs), _ Pretty much all mobile browsers.
文章作者 ZHIKING
上次更新 0001-01-01