CSS 連結偽類選擇器順序原理
連結a是HTML中最重要的元素之一,通過它可以實現站內或者站際間頁面的跳轉。
為了更好的使用者體驗,連結具有四種狀態,根據不同的狀態設定不同的樣式。
四種狀態分別如下:
(1).link
(2).hover
(3).active
(4).visited
通過對應四種狀態的偽類選擇器,可以設定其狀態。
但偽類選擇器需要按照一定的順序設定,否則某些狀態效果不會生效。
選擇器正確排序是 :link > :visited > :hover > :actvie。
具體參閱CSS 設定連結樣式一章節。
只要記住上述順序,即便不知其中的原理,也可以很完美的工作。
還有不少小夥伴想了解其中的原理,下面詳細做一下介紹。
本質就是CSS選擇器優先順序問題,具體參閱CSS 選擇器優先順序規則一章節。
結合一段程式碼例項做一下介紹:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> a:link { text-decoration:none; color:red; } a:visited { text-decoration:none; color:blue; } a:hover { text-decoration:underline; color:green; } a:active { text-decoration:underline; color:deeppink; } </style> </head> <body> <a href="#">本站url地址是www.softwhy.com</a> </body> </html>
程式碼分析如下:
(1).四個偽類選擇器權重完全相同,所以需要通過它們的先後順序決定顯示哪種樣式。
(2).:link要位於:visited的前面,如果順序顛倒,訪問後的樣式永遠得到不到顯示。
(3).:hover要位於:active前面,:link後面,因為當滑鼠點選連結使其處於啟用狀態時,連結最少處於三種狀態:link、:hover和:active,如果:hover位於:active後面,那麼:active效果永遠得不到展現,如果位於:link的前面,那麼:hover的效果永遠得不到展現。同樣的道理,:hover也必須要位於:visited後面。
(4).於是最終得出:link > :visited > :hover > :actvie這個順序。
最後總結如下:
實質就是確定一個恰當的優先順序關係,上面第三條分析看起來亂糟糟的。
其實可以從中總結出一個規律,link狀態不包含其他三種狀態,visited僅包含link狀態,hover可以包含link與visited兩種狀態,而active可以包含其他的三種狀態,規律看出來了嗎,共性越多的位置越靠後,這樣它的特性不會被覆蓋,別人的特性也不會被覆蓋。
相關文章
- CSS 偽類選擇器CSS
- CSS3新增選擇器(屬性選擇器、結構偽類選擇器、偽元素選擇器)CSSS3
- css 選擇器優先順序CSS
- 徹底理解CSS結構偽類選擇器CSS
- CSS E:default 偽類選擇器CSS
- CSS E:hover 偽類選擇器CSS
- CSS E:checked 偽類選擇器CSS
- CSS E:hover偽類選擇器CSS
- CSS E:disabled 偽類選擇器CSS
- CSS E:disabled偽類選擇器CSS
- CSS 選擇器的優先順序CSS
- CSS偽類與偽元素選擇器區別CSS
- CSS偽類選擇器是什麼CSS
- CSS :focus-within 偽類選擇器CSS
- CSS @page:right列印偽類選擇器CSS
- CSS @page:left列印偽類選擇器CSS
- CSS @page:first列印偽類選擇器CSS
- css偽類選擇符CSS
- CSS 選擇器優先順序規則CSS
- CSS之選擇器及其優先順序CSS
- CSS3選擇器及優先順序CSSS3
- 深入理解CSS選擇器優先順序CSS
- HTML表單及CSS選擇器、偽類和偽元素HTMLCSS
- CSS基礎知識-選擇器的種類及優先順序CSS
- CSS入門十二:選擇器的優先順序CSS
- 真正理解"CSS選擇器的優先順序"CSS
- CSS E:lang()偽類選擇符CSS
- :fullscreen 偽類選擇器
- 順序結構與選擇結構
- CSS E::after 偽元素選擇器CSS
- 002---選擇器(標籤選擇器、類選擇器、id選擇器、偽類選擇器、萬用字元選擇器)字元
- CSS 基礎(盒模型、選擇器、權重、優先順序)CSS模型
- CSS class 類選擇器CSS
- 偽類選擇器:愛恨法則;偽元素選擇器:before,after;清除浮動
- CSS中一些利用偽類、偽元素和相鄰元素選擇器的技巧CSS
- CSS E::first-line偽元素選擇器CSS
- css選擇器的分類CSS
- 第5周 5.1 順序與選擇結構