一大波CSS3選擇器

0. 前言

也許你已經(jīng)學(xué)會了CSS的幾個(gè)簡單常用的選擇器:#id合敦,.class桩皿,標(biāo)簽選擇器豌汇,后代選擇器,這就讓你滿足了么泄隔?so拒贱,我在里列舉一些CSS3選擇器,讓你在寫代碼的時(shí)候更加得心應(yīng)手佛嬉,當(dāng)然逻澳,我也是想在我忘了的時(shí)候,可以自己反過頭來看看暖呕。

學(xué)霸.jpg

1. 簡介

選擇器的作用:使用選擇器對HTML頁面進(jìn)行操作斜做,實(shí)現(xiàn)一對一,多對一湾揽,一對多的控制瓤逼。

2. 選擇器

2.1 偽類選擇器

:first-line 匹配每個(gè)元素里首行。

p:first-line{
    color: red; 
}
<p>
    北京歡迎您!<br/>
    Welcome to Beijing!
</p>

北京歡迎您.png

:first-letter選擇每個(gè)元素的首字符。

p:first-letter{
    font-size: 20px;
    color: blue;    
}

北京歡迎您.png

:before在每個(gè)元素內(nèi)容之前插入內(nèi)容耸黑。

p:before{
    content: "哈哈";
}
<p>北京歡迎您挨下!</p>

北京歡迎您.png

:after在每個(gè)元素內(nèi)容之后插入內(nèi)容。

p:after{
    content: "嘿嘿";
}
北京歡迎您.png

::selection選擇被用戶選取的元素部分恒削。

div::selection {
    color: deeppink;
}
<div>
    大家,新年快樂,恭喜發(fā)財(cái)精居!
</div>
恭喜發(fā)財(cái).gif
2.2 目標(biāo)偽類選擇器

:target選擇當(dāng)前觸發(fā)#新的元素

div:target{
        width: 200px;
        height: 200px;
        background-color: orange;
}
<p><a href="#first">第一個(gè)</a></p>
<div id="first"></div>
<p><a href="#second">第二個(gè)</a></p>
<div id="second"></div>
<p><a href="#third">第三個(gè)</a></p>
<div id="third"></div>
二級菜單.gif
2.3 狀態(tài)偽類選擇器

:disabled選擇每個(gè)禁用的 input 元素

input:disabled{
        background-color: black;
}
禁用:<input type="text" disabled="disabled" />

禁用.png

:enabled選擇每個(gè)啟用的 input 元素。

input:enabled{
        background-color: orange;
}
非禁用:<input type="text" />

非禁用.png

:read-only選擇每個(gè)只讀的 input 元素镀虐。

input:read-only{
        background-color: pink; 
}
只讀:<input type="text" readonly="readonly" />

只讀.png

:focus選擇獲得焦點(diǎn)的 input 元素箱蟆。

input:focus{
        background-color: seagreen;
}
獲得焦點(diǎn):<input type="text" />

獲得焦點(diǎn).gif

:checked選擇每個(gè)被選中的 input 元素。

input:checked{
        height: 100px;
}
選中:<input type="checkbox" />
選中.gif
2.4 結(jié)構(gòu)偽類選擇器

:root選擇文檔的根元素刮便。

:root{
    background-color: pink;
}
根元素.png

:empty選擇沒有子元素的空元素

p{
    height: 50px;
    background-color: orange;
}
<p></p>
<p></p>
<p>
            
</p>
<p><!-- 這是注釋 --></p>
<p>有內(nèi)容的P元素</p>

空元素.png

:first-child選擇屬于其父元素的首個(gè)元素空猜。

#box :first-child{
        background-color: red;
        height: 100px;
}
<div id="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <p>6</p>
</div>

第一個(gè)子元素.png

:last-child選擇屬于其父元素最后一個(gè)子元素。

#box :last-child{
        background-color: red;
        height: 100px;
}

最后一個(gè)子元素.png

:nth-child(n)選擇屬于其父元素的第n個(gè)子元素。

#box :nth-child(2){
        background-color: red;
        height: 100px;
}

選擇其父元素第n個(gè)子元素.png

:nth-last-child(n)選擇屬于其父元素的第n子元素(從最后一個(gè)子元素開始數(shù))辈毯。

#box :nth-last-child(2){
        background-color: red;
        height: 100px;
}
選擇屬于其父元素的第n子元素(從最后一個(gè)子元素開始數(shù)).png

:only-child選擇屬于其父元素的唯一子元素的元素坝疼。

#box2 :only-child{
        background-color: brown;
        height: 150px;
}

選擇屬于其父元素的唯一子元素的元素.png

:first-of-type選擇其父元素的第一個(gè)子元素。

#box p:first-of-type{
        background-color: red;
        height: 100px;
}

第一個(gè)子元素.png

:nth-of-type(n)選擇屬于其父元素的第n子元素谆沃。

#box :nth-of-type(2){
        background-color: red;
        height: 100px;
}

選擇其父元素第n個(gè)子元素.png

:only-of-type選擇屬于其父元素唯一的元素钝凶。

#box div:only-of-type{
        height: 100px;
        background-color: red;
}
<div id="box">
            //這是新添加的父元素下唯一的一個(gè)div
            <div></div>
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
            <p>5</p>
            <p>6</p>
</div>
父元素下唯一的一個(gè)div.png
2.5 否定偽類選擇器

:not(element)選擇非element元素的每個(gè)元素。

li{
    background-color: gold;
}
            
li:not(.second){
    background-color: red;
}
<ul>
    <li>第一個(gè)</li>
    <li class="second">第二個(gè)</li>
    <li>第三個(gè)</li>
    <li>第四個(gè)</li>
</ul>
非element的其他元素.png
2.6 層次選擇器

element1~element2選擇element1元素后面的每個(gè)兄弟element2元素唁影。

div p~h3{
    color: red;
}
<p>最外層的P元素</p>
<div>
    <h3>我是h3</h3>
    <h3>我是h3</h3>
    <h4>我是h4</h4>
    <p>內(nèi)層的P元素</p>
    <h3>我是h3</h3>
    <h3>我是h3</h3>
    <h4>我是h4</h4>
    <div>
        <p>最內(nèi)層的P元素</p>
    </div>
</div>

選擇element1元素后面的每個(gè)兄弟element2元素.png

element1+element2選擇element1元素后一個(gè)兄弟element2元素耕陷。

div p+h3{
    color: blue;
    font-size: 40px;
}

選擇element1元素后一個(gè)兄弟element2元素.png

element1>element2選擇父元素element1元素的所有element2元素。

div>div>p{
    font-size: 30px;
    color: blue;    
}
選擇父元素element1元素的所有element2元素.png
2.7 屬性選擇器

[attribute]選擇帶有 attribute 屬性所有元素据沈。

input[value]{
        background-color: orange;
}
<input type="text" name="inner" /><br />
<a href="01_偽元素選擇器.html">哈哈哈哈哈哈</a><br />
<input type="text" name="inner be" /><br />
<input type="button" name="inner-haha" value="我是一個(gè)按鈕" /><br />
<input type="submit"  value="我是一個(gè)提交" /><br />

選擇帶有 attribute 屬性所有元素.png

[attribute][value]選擇帶有 attribute 和 value 兩個(gè)屬性所有元素哟沫。

input[value][name]{
            background-color: skyblue;
}

選擇帶有 attribute 和 value 兩個(gè)屬性所有元素.png

[attribute=value]選擇 attribute="value" 的所有元素。

input[value="我是一個(gè)提交"]{
        background-color: seagreen;
}

.png

[attribute |= "value" ]選擇 attribute 屬性值以 "value" 開頭的所有元素锌介。

input[name |= "inner" ]{
        background-color: red;
}

注意:有空格的也能被選中嗜诀, 而以"-"為銜接才能不被選中

選擇 attribute 屬性值以 "value" 開頭的所有元素.png

[attribute~=value]選擇 attribute 屬性值中有 value 的所有元素。

input[name ~= "be"]{
        background-color: cornflowerblue;
}

選擇 attribute 屬性值中有 value 的所有元素.png

[attribute*=value]選擇 attribute 屬性值中包含 value 的所有元素孔祸。

input[value *= "提交"]{
        background-color: indigo;
}

選擇 attribute 屬性值中包含 value 的所有元素.png

[attribute ^= "value" ]選擇 attribute 屬性值以 "value" 開頭的所有元素隆敢。

input[name ^= "inner"]{
        background-color: deeppink;
}       

注意:[attribute |= "value" ][attribute ^= "value" ]的區(qū)別是[attribute ^= "value" ]不需要考慮"-"

選擇 attribute 屬性值以 "value" 開頭的所有元素.png

[attribute $= "value" ]選擇 attribute 屬性值以 "value" 結(jié)尾的所有元素崔慧。

a[href $= ".html"]{
        font-size: 30px;
}
選擇 attribute 屬性值以 "value" 結(jié)尾的所有元素.png

3. 后記

煩.jpg

哎拂蝎,寫這些標(biāo)簽太枯燥了,沒什么太大意思尊浪,但我還是堅(jiān)持的寫完了匣屡,一大波CSS3選擇器希望對你有幫助,點(diǎn)贊啦拇涤!捣作,分享啊鹅士!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末券躁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子掉盅,更是在濱河造成了極大的恐慌也拜,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趾痘,死亡現(xiàn)場離奇詭異慢哈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)永票,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門卵贱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滥沫,“玉大人,你說我怎么就攤上這事键俱±夹澹” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵编振,是天一觀的道長缀辩。 經(jīng)常有香客問我,道長踪央,這世上最難降的妖魔是什么臀玄? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮畅蹂,結(jié)果婚禮上镐牺,老公的妹妹穿的比我還像新娘。我一直安慰自己魁莉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布募胃。 她就那樣靜靜地躺著旗唁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痹束。 梳的紋絲不亂的頭發(fā)上检疫,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機(jī)與錄音祷嘶,去河邊找鬼屎媳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛论巍,可吹牛的內(nèi)容都是我干的烛谊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼嘉汰,長吁一口氣:“原來是場噩夢啊……” “哼丹禀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鞋怀,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤双泪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后密似,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焙矛,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年残腌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了村斟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贫导。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖邓梅,靈堂內(nèi)的尸體忽然破棺而出脱盲,到底是詐尸還是另有隱情,我是刑警寧澤日缨,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布钱反,位于F島的核電站,受9級特大地震影響匣距,放射性物質(zhì)發(fā)生泄漏面哥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一毅待、第九天 我趴在偏房一處隱蔽的房頂上張望尚卫。 院中可真熱鬧,春花似錦尸红、人聲如沸吱涉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怎爵。三九已至,卻和暖如春盅蝗,著一層夾襖步出監(jiān)牢的瞬間鳖链,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工墩莫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芙委,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓狂秦,卻偏偏與公主長得像灌侣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子裂问,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理顶瞳,服務(wù)發(fā)現(xiàn),斷路器愕秫,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • 一、基本選擇器 回顧選擇器 通配符選擇器甜孤、元素選擇器协饲、類選擇器畏腕、ID選擇器、后代選擇器 新增基本選擇器 子元素選擇...
    越IT閱讀 1,160評論 0 3
  • #class id選擇器 選擇帶有指定id的元素 不能以數(shù)字開頭 不能包含特殊字符(&茉稠、@描馅、#、$等) 一個(gè)id屬...
    三井豆閱讀 242評論 0 0
  • 第一章 入門 基本功能:訪問和操作 dom 元素而线,控制頁面樣式铭污,對頁面的事件處理,與ajax完美結(jié)合膀篮,有豐富的插件...
    X_Arts閱讀 1,048評論 0 2
  • 【日精進(jìn)打卡第22天】 姓名:趙福緣 公司:青檸養(yǎng)車 【知~學(xué)習(xí)】 【行~實(shí)踐】 一嘹狞、修身: 二、努力: 1誓竿、體現(xiàn)...
    夜勿憂閱讀 172評論 0 0