CSS :focus-within 偽類選擇器
:focus偽類選擇器大家都比較熟悉,可以匹配獲取焦點的適用元素。
具體用法可以參閱CSS E:focus 選擇器一章節。
本文再來介紹一個與上述選擇器類似的偽類選擇器:focus-within。
首先從名稱對此選擇器進行分析,由focus與within兩個單詞構成,分析如下:
(1).focus:翻譯成漢語具有焦點的意思,很容易理解,此選擇器可以匹配獲取焦點的元素。
(2).within:翻譯成漢語具有在內部等意思,於是可以有理由推測,此選擇器擴充套件了獲取焦點生效範圍。
事實也是如此:focus-within可以匹配當前獲取焦點的元素或者其父輩元素(類似於JavaScript事件冒泡)。
關於JavaScript事件冒泡具體內容可以參閱JavaScript 事件冒泡一章節。
語法結構:
[CSS] 純文字檢視 複製程式碼E:focus-within{ Rules }
此選擇器在標準瀏覽器中的支援度還不錯,圖示如下:
瀏覽器支援度隨時可能發生變化,檢測地址https://www.caniuse.com/。
程式碼例項如下:
此選擇器不但可以匹配當前獲取焦點的元素,也可以匹配獲取焦點元素的父輩元素。
特別說明:父輩元素並不僅僅是獲取焦點元素的直接父元素,只要是它的長輩元素即可。
通過此選擇器可以擴充套件獲取焦點的作用範圍,通過一段程式碼例項展示一下它的威力。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style: none; font-size: 12px; width:240px; height:24px; line-height:24px; margin-bottom: 5px; } li:focus-within{ border:1px dotted blue; } </style> </head> <body> <ul> <li><input type="radio" name="ant">螞蟻部落專注於前端知識的分享</li> <li><input type="radio" name="ant">只有努力學習才會有美好未來</li> <li><input type="radio" name="ant">沒有人一開始就是高手,必須通過努力</li> <li><input type="radio" name="ant">把握好當下的時間才會把握好未來</li> </ul> </body> </html>
程式碼執行效果截圖如下:
當input元素獲取焦點的時候,它的父輩元素也可能夠被:focus-within選擇器匹配。
當然此選擇器還有很多其他的實用技巧,比如當密碼框獲取焦點的時候,也就是準備要輸入密碼了,那麼此密碼框的某個父輩元素可以切換為捂住眼睛的背景圖片(提醒不要讓別人看到),當密碼框失去焦點的時候,再切換為睜開眼睛的背景圖片。非常簡單,本文不再通過程式碼例項介紹。
相關文章
- CSS 偽類選擇器CSS
- 新CSS偽類:focus-withinCSS
- CSS E:default 偽類選擇器CSS
- CSS E:disabled偽類選擇器CSS
- CSS E:disabled 偽類選擇器CSS
- CSS E:checked 偽類選擇器CSS
- CSS E:hover偽類選擇器CSS
- CSS E:hover 偽類選擇器CSS
- CSS偽類與偽元素選擇器區別CSS
- CSS3新增選擇器(屬性選擇器、結構偽類選擇器、偽元素選擇器)CSSS3
- CSS偽類選擇器是什麼CSS
- CSS @page:left列印偽類選擇器CSS
- CSS @page:first列印偽類選擇器CSS
- css偽類選擇符CSS
- CSS樣式中的通用選擇器和偽類選擇器CSS
- CSS @page:right列印偽類選擇器CSS
- CSS的總結(選擇器,偽類等…)CSS
- HTML表單及CSS選擇器、偽類和偽元素HTMLCSS
- 徹底理解CSS結構偽類選擇器CSS
- CSS 連結偽類選擇器順序原理CSS
- css :target偽類選擇器簡單介紹CSS
- CSS E:lang()偽類選擇符CSS
- CSS選擇器(6)——偽元素CSS
- CSS E::after 偽元素選擇器CSS
- 神奇的選擇器 :focus-within
- 002---選擇器(標籤選擇器、類選擇器、id選擇器、偽類選擇器、萬用字元選擇器)字元
- 有趣的CSS題目(10):結構性偽類選擇器CSS
- CSS class 類選擇器CSS
- CSS多類選擇器CSS
- 偽類選擇器:愛恨法則;偽元素選擇器:before,after;清除浮動
- CSS中一些利用偽類、偽元素和相鄰元素選擇器的技巧CSS
- css選擇器的分類CSS
- 一個選擇器工具。測試結構偽類選擇器方法
- css :first-child偽類選擇器用法介紹CSS
- CSS E::first-line偽元素選擇器CSS
- 神奇的選擇器 :focus-within,子控制父
- css選擇器分類總結CSS
- 後端碼農談前端(CSS篇)第四課:選擇器補充(偽類與偽元素)後端前端CSS