關於二者的區別,實際上是很古老的問題。可是時至今日,因爲各類網絡誤傳以及一些不負責任的書籍誤筆,仍然有至關多的人將僞類與僞元素混爲一談,甚至不乏不少CSS老手。早些年剛入行的時候,我本身也被深深誤導,由於論壇裏的帖子大多不關心這種概念的細微差異,即便有人出來講一句:「這兩個是不一樣的」,也只是被更多的帖子淹沒掉而已。因此以爲有必要寫下這些我所知的部分,這裏着重寫的是爲何這二者不一樣,以及一些平時容易錯過的細節。html
不管是僞類仍是僞元素,都屬於CSS選擇器的範疇。因此它們的定義能夠在CSS標準的選擇器章節找到。分別是 CSS2.1 Selectors 和 CSS Selector Level 3,二者都已是推薦標準。網絡
相同點:
Pseudo-class和pseudo-element的語法都是以selector或者selector.class開始的。
不一樣點:
Pseudo-class的操做對象是文檔樹中已有的元素,而pseudo-element則建立了一個文檔數外的元素。所以,Pseudo-class和pseudo-element的區別在於:有沒有建立一個文檔樹以外的元素。Pseudo-class只有一個冒號,pseudo-element有兩個冒號code
引用自網頁:http://www.mamicode.com/info-detail-2496434.htmlhtm