Here is the example content函數
須要注意的是若是沒有content屬性,僞類元素將沒有任何做用。可是能夠指定content爲空,同時正如前面所說,插入的內容默認是一個行內元素,而且在HTML源代碼中沒法看到,這就是爲何稱之爲僞類元素的理由,因此也就沒法經過DOM對其進行操做。post
#example:before {
content: "";
display: block;
width: 100px;
height: 100px;
}
僞類元素也會像其餘子元素同樣正常繼承父元素的一些CSS屬性,好比字體等。字體
除了插入文字內容,還能夠指定其餘內容:this
p:before {
content: url('img.jpg');
}
a:after {
content: attr(href);
}
attr()函數會返回指定元素對應屬性的值url
最後,奉上最惦記的瀏覽器支持狀況spa
- 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.
放在僞類元素裏面的內容通常都只是裝飾性的,因此即使是IE6/7不支持也應該能降級到正常顯示主體內容。
:before和:after的一些驚人用法
>. clearfix hack
若是父元素容器裏面的子元素是浮動元素的話,咱們通常須要在父元素閉合前添加一個clear:both的元素用於清除浮動從而能使父容器正常被子元素內容撐起,可是這種方法引入了多餘的無心義標籤,而且有javascript操做子元素的時候容易引起bug。一種更好的方法是利用CSS,因此在一些CSS文件中常常會看到相似於.clearfix這樣的類出沒,只要在父容器上應用這個類便可實現清除浮動。下面是利用:before和:after的一個實現:(via Nicolas Gallagher)
/* For modern browsers */
.clearfix:before,
.clearfix:after {
content:"";
display:table;
}
.clearfix:after {
clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
zoom:1;
}
>. CSS實現的八卦圖案