在說明它們的區別以前先講講這兩個是什麼東西.html
僞類用於定義元素的特殊狀態.spa
selector:pseudo-class {
property:value;
}
a:link : 鼠標點擊後selector的效果
code
a:visited: 鼠標移過去後selector的效果htm
a:hover: 鼠標停留在該selector上的效果blog
a:active: 鼠標點擊該selector的效果element
(還有更多的種類在此就不一一列舉了.)get
Notice: 在CSS定義中 a:hover必須在 a:link 和 a:visited 以後能生效. a:active 必須在 a:hover 以後纔能有效!僞類名稱不區分大小寫。it
若是還不懂的話下面上代碼:io
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <style> 5 /* unvisited link */ 6 a:link { 7 color: red; 8 } 9 10 /* visited link */ 11 a:visited { 12 color: green; 13 } 14 15 /* mouse over link */ 16 a:hover { 17 color: hotpink; 18 } 19 20 /* selected link */ 21 a:active { 22 color: blue; 23 } 24 </style> 25 </head> 26 <body> 27 28 <p><a href="default.asp" target="_blank">Link</a></p> 29 30 </body> 31 </html>
CSS僞元素用於設置元素的指定部分的樣式。class
selector::pseudo-element {
property:value;
}
p::after : 在每一個<p>元素的內容後面插入一些內容
p::before: 在每一個<p>元素的內容前面插入一些內容
p::first-letter: 選擇每一個<p>元素的第一個字母
p::frist-line: 選擇每一個<p>元素的第一行
p::selection: 選擇由用戶選擇的元素的部分
若是須要增長內容的話property:value須要添加一個 content: " text "; (text爲你須要添加的內容)至於效果你們能夠本身去試一試,這裏也不在過多的詳說了.
相信你們都已經發現這二者有着不少類似之處,可是同時也具備着些許的差別感吧.下面來正式講解一下二者的區別:
1.語法都是 "選擇器 + 單/雙冒號 + 內容(屬性值)".
2.都是對指定選擇器的樣式的設定起做用.
1.僞類使用的是單冒號" : ",而僞元素使用的是雙冒號" :: " .
2.僞類的做用範圍爲整個選擇器的全部內容,如 a:hover{ color:red }; 當你把鼠標移動到這個a這個標籤的時候,整個a標籤的顏色會變成紅色.
僞元素的做用範圍爲這個選擇器的一部分,如p::after{ content: "text";} 只是更改了p標籤前面的內容.
PS:以上爲我總結出來的經驗,但願能幫到讀者.另外,本人知識水平有限,若有遺漏或者錯誤之處敬請補充.