070. CSS 偽類和偽元素

CSS 引入偽類和偽元素概念是為了格式化文檔樹(shù)以外的信息了嚎。

偽元素和偽類都不會(huì)出現(xiàn)在源文檔或者文檔樹(shù)中

偽類的操作對(duì)象是文檔樹(shù)中已有的元素,而偽元素則創(chuàng)建了一個(gè)文檔數(shù)外的元素。

1. CSS 偽類

偽類是選擇器的一種,它用于選擇處于特定狀態(tài)的元素畅涂,比如當(dāng)它們是這一類型的第一個(gè)元素時(shí),或者是當(dāng)鼠標(biāo)指針懸浮在元素上面的時(shí)候道川。

偽類表現(xiàn)得會(huì)像是你向你的文檔的某個(gè)部分應(yīng)用了一個(gè)類一樣,在標(biāo)記文本中減少多余的類,讓代碼更靈活冒萄、更易于維護(hù)臊岸。

偽類就是開(kāi)頭為冒號(hào)的關(guān)鍵字:

/* 語(yǔ)法 */
selector:pseudo-class {
  property: value;
}

/* 比如:所有用戶指針懸停的按鈕 */
button:hover {
  color: blue;
}

2. 偽元素

偽元素用于創(chuàng)建一些不在文檔樹(shù)中的元素,并為其添加樣式尊流。表現(xiàn)得是像你往標(biāo)記文本中加入全新的 HTML 元素一樣帅戒。

偽元素開(kāi)頭為雙冒號(hào)::。

/* 語(yǔ)法 */
selector::pseudo-element {
  property: value;
}

/* 每一個(gè) <p> 元素的第一行崖技。 */
p::first-line {
  color: blue;
  text-transform: uppercase;
}

3. 偽類和偽元素的組合

比如讓第一段的第一行加粗逻住,把 :first-child::first-line 選擇器放到一起。

article p:first-child::first-line {
  font-size: 120%;
  font-weight: bold;
}

4. 偽類參考

選擇器 描述
:active 在用戶激活(例如點(diǎn)擊)元素的時(shí)候匹配迎献。
:any-link 匹配一個(gè)鏈接的:link 和:visited 狀態(tài)瞎访。
:blank 匹配空輸入值的 <input> 元素。
:checked 匹配處于選中狀態(tài)的單選或者復(fù)選框吁恍。
:current 匹配正在展示的元素扒秸,或者其上級(jí)元素。
:default 匹配一組相似的元素中默認(rèn)的一個(gè)或者更多的 UI 元素冀瓦。
:dir 基于其方向性(HTMLdir 屬性或者 CSSdirection 屬性的值)匹配一個(gè)元素伴奥。
:disabled 匹配處于關(guān)閉狀態(tài)的用戶界面元素
:empty 匹配除了可能存在的空格外,沒(méi)有子元素的元素翼闽。
:enabled 匹配處于開(kāi)啟狀態(tài)的用戶界面元素拾徙。
:first 匹配分頁(yè)媒體的第一頁(yè)。
:first-child 匹配兄弟元素中的第一個(gè)元素感局。
:first-of-type 匹配兄弟元素中第一個(gè)某種類型的元素尼啡。
:focus 當(dāng)一個(gè)元素有焦點(diǎn)的時(shí)候匹配。
:focus-visible 當(dāng)元素有焦點(diǎn)蓝厌,且焦點(diǎn)對(duì)用戶可見(jiàn)的時(shí)候匹配玄叠。
:focus-within 匹配有焦點(diǎn)的元素,以及子代元素有焦點(diǎn)的元素拓提。
:future 匹配當(dāng)前元素之后的元素读恃。
:hover 當(dāng)用戶懸浮到一個(gè)元素之上的時(shí)候匹配。
:indeterminate 匹配未定態(tài)值的 UI 元素代态,通常為復(fù)選框寺惫。
:in-range 用一個(gè)區(qū)間匹配元素,當(dāng)值處于區(qū)間之內(nèi)時(shí)匹配蹦疑。
:invalid 匹配諸如 <input> 的位于不可用狀態(tài)的元素西雀。
:lang 基于語(yǔ)言(HTMLlang 屬性的值)匹配元素。
:last-child 匹配兄弟元素中最末的那個(gè)元素歉摧。
:last-of-type 匹配兄弟元素中最后一個(gè)某種類型的元素艇肴。
:left 在分頁(yè)媒體中腔呜,匹配左手邊的頁(yè)。
:link 匹配未曾訪問(wèn)的鏈接再悼。
:local-link 匹配指向和當(dāng)前文檔同一網(wǎng)站頁(yè)面的鏈接核畴。
:is() 匹配傳入的選擇器列表中的任何選擇器。
:not 匹配作為值傳入自身的選擇器未匹配的物件冲九。
:nth-child 匹配一列兄弟元素中的元素——兄弟元素按照 an+b 形式的式子進(jìn)行匹配(比如 2n+1 匹配元素 1谤草、3、5莺奸、7 等丑孩。即所有的奇數(shù)個(gè))。
:nth-of-type 匹配某種類型的一列兄弟元素(比如灭贷,<p>元素)——兄弟元素按照 an+b 形式的式子進(jìn)行匹配(比如 2n+1 匹配元素 1温学、3、5氧腰、7 等枫浙。即所有的奇數(shù)個(gè))。
:nth-last-child 匹配一列兄弟元素古拴,從后往前倒數(shù)箩帚。兄弟元素按照 an+b 形式的式子進(jìn)行匹配(比如 2n+1 匹配按照順序來(lái)的最后一個(gè)元素,然后往前兩個(gè)黄痪,再往前兩個(gè)紧帕,諸如此類。從后往前數(shù)的所有奇數(shù)個(gè))桅打。
:nth-last-of-type 匹配某種類型的一列兄弟元素(比如是嗜,<p>元素),從后往前倒數(shù)挺尾。兄弟元素按照 an+b 形式的式子進(jìn)行匹配(比如 2n+1 匹配按照順序來(lái)的最后一個(gè)元素鹅搪,然后往前兩個(gè),再往前兩個(gè)遭铺,諸如此類丽柿。從后往前數(shù)的所有奇數(shù)個(gè))。
:only-child 匹配沒(méi)有兄弟元素的元素魂挂。
:only-of-type 匹配兄弟元素中某類型僅有的元素甫题。
:optional 匹配不是必填的 form 元素。
:out-of-range 按區(qū)間匹配元素涂召,當(dāng)值不在區(qū)間內(nèi)的的時(shí)候匹配坠非。
:past 匹配當(dāng)前元素之前的元素。
:placeholder-shown 匹配顯示占位文字的 input 元素果正。
:playing 匹配代表音頻炎码、視頻或者相似的能“播放”或者“暫兔顺伲”的資源的,且正在“播放”的元素辅肾。
:paused 匹配代表音頻队萤、視頻或者相似的能“播放”或者“暫停”的資源的矫钓,且正在“暫停”的元素舍杜。
:read-only 匹配用戶不可更改的元素新娜。
:read-write 匹配用戶可更改的元素。
:required 匹配必填的 form 元素既绩。
:right 在分頁(yè)媒體中概龄,匹配右手邊的頁(yè)。
:root 匹配文檔的根元素饲握。
:scope 匹配任何為參考點(diǎn)元素的的元素私杜。
:valid 匹配諸如 <input> 元素的處于可用狀態(tài)的元素。
:target 匹配當(dāng)前 URL 目標(biāo)的元素(例如如果它有一個(gè)匹配當(dāng)前 URL 分段的元素)救欧。
:visited 匹配已訪問(wèn)鏈接衰粹。

4. 偽元素參考

選擇器 描述
::after 匹配出現(xiàn)在原有元素的實(shí)際內(nèi)容之后的一個(gè)可樣式化元素。
::before 匹配出現(xiàn)在原有元素的實(shí)際內(nèi)容之前的一個(gè)可樣式化元素笆怠。
::first-letter 匹配元素的第一個(gè)字母铝耻。
::first-line 匹配包含此偽元素的元素的第一行。
::grammar-error 匹配文檔中包含了瀏覽器標(biāo)記的語(yǔ)法錯(cuò)誤的那部分蹬刷。
::selection 匹配文檔中被選擇的那部分瓢捉。
::spelling-error 匹配文檔中包含了瀏覽器標(biāo)記的拼寫錯(cuò)誤的那部分。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末办成,一起剝皮案震驚了整個(gè)濱河市泡态,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迂卢,老刑警劉巖某弦,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異冷守,居然都是意外死亡刀崖,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門拍摇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)亮钦,“玉大人,你說(shuō)我怎么就攤上這事充活》淅颍” “怎么了蜡娶?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)映穗。 經(jīng)常有香客問(wèn)我窖张,道長(zhǎng),這世上最難降的妖魔是什么蚁滋? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任宿接,我火速辦了婚禮,結(jié)果婚禮上辕录,老公的妹妹穿的比我還像新娘睦霎。我一直安慰自己,他們只是感情好走诞,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布副女。 她就那樣靜靜地躺著,像睡著了一般蚣旱。 火紅的嫁衣襯著肌膚如雪碑幅。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天塞绿,我揣著相機(jī)與錄音沟涨,去河邊找鬼。 笑死位隶,一個(gè)胖子當(dāng)著我的面吹牛拷窜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涧黄,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼篮昧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了笋妥?” 一聲冷哼從身側(cè)響起懊昨,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎春宣,沒(méi)想到半個(gè)月后酵颁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡月帝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年躏惋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚷辅。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡簿姨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扁位,我是刑警寧澤准潭,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站域仇,受9級(jí)特大地震影響刑然,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜暇务,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一泼掠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垦细,春花似錦武鲁、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挚瘟。三九已至叹谁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乘盖,已是汗流浹背焰檩。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留订框,地道東北人析苫。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像穿扳,于是被迫代替她去往敵國(guó)和親衩侥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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

  • 本文首發(fā)于 邊玉杰的技術(shù)博客轉(zhuǎn)載請(qǐng)注明出處 偽類 一個(gè) CSS 偽類是以一個(gè)冒號(hào)( : )作為前綴矛物,被添加到一個(gè)選...
    邊玉杰閱讀 397評(píng)論 0 0
  • 【2018/03/30更新】我居然不知道CSS的這兩個(gè)用法茫死,今天看到,慚愧至極 div > p? 選擇div下一級(jí)...
    果汁涼茶丶閱讀 1,174評(píng)論 0 10
  • CSS選擇器大致可以分成5類:基本選擇器履羞,層次選擇器峦萎,屬性選擇器,偽類忆首,偽元素爱榔。基本糙及,層次详幽,屬性選擇器比較容易理解...
    張歆琳閱讀 1,857評(píng)論 4 26
  • 1. 偽類 & 偽元素 偽類和偽元素用來(lái)修飾不在文檔樹(shù)中的部分 偽類:用于當(dāng)已有元素處于的某個(gè)狀態(tài)時(shí),為其添加對(duì)應(yīng)...
    楊慧莉閱讀 575評(píng)論 0 5
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)丁鹉、焦點(diǎn)妒潭、注意力悴能、語(yǔ)言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析雳灾,社會(huì)...
    Jenaral閱讀 5,705評(píng)論 0 5