CSS3 :default偽類選擇器使用簡介
一、CSS3 :default偽類選擇器簡介
CSS3 :default 偽類選擇器只能作用在表單元素上,表示默認(rèn)狀態(tài)的表單元素。
舉個(gè)例子,一個(gè)下拉框,可能有多個(gè)選項(xiàng),我們默認(rèn)會(huì)讓某個(gè) <option> 處于 selected 狀態(tài),此時(shí)這個(gè) <option> 可以看成是處于默認(rèn)狀態(tài)的表單元素(例如下面示意代碼的“選項(xiàng)4”),理論上可以應(yīng)用 :default 偽類選擇器。
<select multiple>
<option>選項(xiàng)1</option>
<option>選項(xiàng)2</option>
<option>選項(xiàng)3</option>
<option selected>選項(xiàng)4</option>
<option>選項(xiàng)5</option>
<option>選項(xiàng)6</option>
</select>
假設(shè)CSS如下:
option:default {
color: red;
}
則在Chrome瀏覽器下,當(dāng)我們選擇其他選項(xiàng),此時(shí)就可以看到選項(xiàng)4是紅色了,效果如下圖:
Firefox瀏覽器下效果也是類似:
IE瀏覽器則不支持。
因此,移動(dòng)端可以放心使用,桌面端不用管IE的項(xiàng)目也可以用起來。
二、CSS3 :default偽類選擇器作用
CSS3 :default 偽類選擇器作用設(shè)計(jì)的作用是讓用戶在選擇一組數(shù)據(jù)的時(shí)候,依然知道默認(rèn)選項(xiàng)是什么,否則其他選項(xiàng)一多,選著選著就不知道默認(rèn)提供的是哪個(gè)了,算是一種體驗(yàn)增強(qiáng)策略。作用不是很強(qiáng)烈,但是關(guān)鍵時(shí)刻卻很有用。
三、CSS3 :default偽類選擇器一些特性研究
1. 研究1:JS快速修改會(huì)不會(huì)有影響?
測試代碼如下:
:default {
transform: sclae(1.5);
}
<input type="radio" name="city" value="0">
<input type="radio" name="city" value="1" checked>
<input type="radio" name="city" value="2">
<script>
document.querySelectorAll('[type="radio"]')[2].checked = true;
</script>
也就是HTML設(shè)置的是第2個(gè)單選框放大1.5倍,JS立即瞬間設(shè)置第3個(gè)單選框選中,結(jié)果發(fā)現(xiàn)就算很快,哪怕是幾乎無延遲的JS修改, :default 偽類選擇器的渲染依然不受影響。
因此,本題答案是無影響。
2. 研究2: <option> 如果沒有設(shè)置 selected 屬性,瀏覽器會(huì)默認(rèn)呈現(xiàn)第1個(gè) <option> ,此時(shí)第1個(gè) <option> 響應(yīng) :default 偽類選擇器嗎?
例如:
option:default {
color: red;
}
<select name="city">
<option value="-1">請選擇</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">深圳</option>
<option value="4">廣州</option>
<option value="5">廈門</option>
</select>
結(jié)果第一個(gè) <option> 沒有紅色,如下圖,因此, :default 選擇器要想有作用,必須要 selected 為 true 。同樣的,對于單復(fù)選框, checked 值也要是 true 。
因此,本題答案是不會(huì)響應(yīng)。
四、CSS3 :default偽類選擇器實(shí)際應(yīng)用
雖然說 :default 選擇器是用來標(biāo)記默認(rèn)狀態(tài)的,避免選擇混淆。但是實(shí)際上,在我看來,更有實(shí)用價(jià)值的應(yīng)該是“推薦標(biāo)記”。
現(xiàn)代web應(yīng)用越來越智能,有時(shí)候有些操作會(huì)智能給用戶push一些選擇,其中默認(rèn)將推薦的設(shè)置設(shè)為 checked 狀態(tài),以前我們的做法是另外輸出文字“(推薦)”,現(xiàn)在有了 :default 選擇器,我們的實(shí)現(xiàn)可以變得更加簡潔,也更容易維護(hù)。
您可以狠狠地的點(diǎn)擊這里: :default選擇器與自動(dòng)添加推薦字樣demo
效果如下圖:
點(diǎn)擊其他選項(xiàng),“推薦”二字依然穩(wěn)固。以后,如果要更換推薦選項(xiàng)了,直接修改 input 的 checked 屬性就可以,維護(hù)更簡單了。
相關(guān)CSS和HTML代碼如下:
input:default + label::after {
content: '(推薦)';
}
<p><input type="radio" name="pay" id="pay0"> <label for="pay0">支付寶</label></p>
<p><input type="radio" name="pay" id="pay1" checked> <label for="pay1">微信</label></p>
<p><input type="radio" name="pay" id="pay2"> <label for="pay2">銀行卡</label></p>
總結(jié)
以上所述是小編給大家介紹的CSS3 :default偽類選擇器使用簡介,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
這篇文章主要介紹了css3的focus-within選擇器的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2020-05-11
詳解如何使用CSS3中的結(jié)構(gòu)偽類選擇器和偽元素選擇器
這篇文章主要介紹了詳解如何使用CSS3中的結(jié)構(gòu)偽類選擇器和偽元素選擇器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面2020-01-06- 這篇文章主要介紹了CSS3 新增選擇器的實(shí)例,需要的朋友可以參考下2019-11-13
如果說 css 作為前端開發(fā)的基本功, 那么 "選擇器" 就是基礎(chǔ)中的基礎(chǔ),本文介紹了css3 偽類選擇器快速復(fù)習(xí),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工2019-09-10css3之UI元素狀態(tài)偽類選擇器實(shí)例演示
這篇文章主要介紹了css3之UI元素狀態(tài)偽類選擇器 ,其中包括hover、active和focus,enabled,disabledread-only與read-write 等等,需要的朋友可以參考下2017-08-11
這篇文章主要介紹了CSS3選擇器新增問題的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-21





