一、僞元素可用於定位文檔中包含的文本,但沒法在文檔樹中定位。僞元素表示DOM外部的某種文檔結構。僞類通常反應沒法在css中輕鬆的檢測到某個元素屬性或者狀態。css
CSS
僞類用於向某些選擇器添加特殊的效果。css3
CSS
僞元素用於將特殊的效果添加到某些選擇器。瀏覽器
第一二者都與選擇器相關,第二就是添加一些「特殊」的效果code
僞類和僞元素的根本區別在於:它們是否創造了新的元素(抽象)。從咱們模仿其意義的角度來看,若是須要添加新元素加以標識的,就是僞元素,反之,若是隻須要在既有元素上添加類別的,就是僞類。標準精確地使用 "create" 一詞來解釋僞元素,而使用 "classify" 一詞來解釋僞類的緣由。文檔
僞類一開始單單只是用來表示一些元素的動態狀態,典型的就是連接的各個狀態(LVHA)。get
僞元素則表明了某個元素的子元素,這個子元素雖然在邏輯上存在,但卻並不實際存在於文檔樹中it
二、對於IE6~8,僅支持單冒號表示法,現代瀏覽器兩種方法都支持。另一個區別是,雙冒號與單冒號在css3中主要用來區別僞類與僞元素io
三、僞元素包括:ast
css中的 :first-line :first-letter :before :afterclass
css3調整後的 ::first-line ::first-letter ::before ::after ::selection
四、僞類包括:
動態僞類選擇器 :link :visited :hover :active
目標僞類選擇器 :target
UI元素狀態僞類選擇器 :checked :enabled :disabled
結構僞類選擇器 :first-child :last-child :root E F:nth-child(n) E F:nth-last-child :nth-of-type(n) :nth-last-of-type(n) :first-of-type
:last-of-type :only-child :empty
否認僞類選擇器 :not()
語言僞類選擇器 E:lang(language)