前端新手村 CSS 的 簡單 Selector (中篇)
「當你迷惘的時候,就回到原點想一想」-中華一番 蘭飛鴻
¶前言
網頁前端新手村系列文章,宗旨並不在技術本身的教導,重點放在技術與技術之間的脈胳關係。讓零碎的網頁前端技術的關鍵字,成為比較有系統性的視野。
讓一開始接觸網頁前端的新手們,有一個比較友善的系統來架構你的學習,至於技術本身的深入探討,就留給其它的高手們吧。
¶CSS 的 簡單 Selector (中篇)
¶pseudo-classes[1]
「偽類」不同於「偽元素」這兩個內容不同。
定義: 是一種描述「 HTML element 狀態」的選擇器描述方式,選擇器名稱不屬於「 HTML element 節點」上節點。
一旦狀態改變,偽類就可以實作 純CSS 的動態變化。
常見於一些標榜著「使用 CSS 省下 JS 的炫麗技術」就是這一單元的應用。
換句話說,要學神技,就看懂這些!!!
用法
- 可以用 :加在任何一個簡單選擇器之後。
- 有互斥的偽類,也有可以疊加的偽類
¶Dynamic pseudo-classes
用在連結 <a href="##"></a> 看過或未看過的狀態。
使用者與畫面元素之間的互動,也會改變狀態。
- The link pseudo-classes 表示 link 的狀態
- :link未看過連結
- :visited看過連結
 
- The user action pseudo-classes 表示 user action 的狀態(不限定是 link!! )
- :hover懸停
 若使用者用行動裝置,- hover就不一定會有反應
 有些互動媒體並不支援[2]
- :active互動當下一瞬間
 適用於互動裝置的主觸發鍵(通常是滑鼠左鍵)
- :focus
 接受鍵盤或滑鼠形式的操作,或其它能具有「游標」的形式。
 ex:- <a href="##"></a>,- <input type="text">
 簡單測試: 用 tab 移動游可到達的,就可以擁有 focus
 
實際測試套用情況
在 Chrome 的開發者模式,找到

¶The target pseudo-class
網址後面有時會接著一個 # 後面再接一段字,那段字若等同於某個 id ,則擁有 id 的 HTML element 稱為 target element ,就會用到 :target
使用情境
| <a href="#chris">chris</a> | 
| :target { | 
- :target=- *:target任何 html element 的 id 在網址上,就會被套用- :target。
- div:target就是只有 div 的 id 在網址上,才會套用- :target。
注意,捲軸會重新捲到顯示
id的地方。
若使用:target出現無法解釋的捲軸移動現象,就只是為了顯示擁有該id的元素。
¶The language pseudo-class
- :lang
指定語言時,決定排版方向,在製作多國語系時可以考慮這個用法。
在此不深入研究。
¶參考資料
                發表於