CSS選擇器

1.class 和 id 的使用場景?

id選擇器:每個(gè)標(biāo)簽只能有一個(gè)id且每個(gè)id只能使用一次凛虽,多用于頁面分塊的塊級(jí)標(biāo)簽上捌锭;
class選擇器:每個(gè)標(biāo)簽可以有多個(gè)類且同一個(gè)類可以用到不同的標(biāo)簽上祥山,多用于多個(gè)標(biāo)簽樣式相似或完全相同時(shí)厂抽;

2.CSS選擇器常見的有幾種?

基礎(chǔ)選擇器 含義
* 通用元素選擇器
#id id選擇器
.class 類選擇器
element 標(biāo)簽選擇器
屬性選擇器 含義
E[attr] 匹配所有屬性為attr的元素
E[attr=value] 匹配屬性attr為value的元素
E[attr~=value] 匹配所有屬性為attr具有多個(gè)空格分隔,其中一個(gè)值為value的元素
E[attr*=value] 匹配屬性attr的值包含value的元素
偽類選擇器 含義
E:first-child E的父元素下的第一個(gè)子元素
E:link 匹配所有未被點(diǎn)擊的鏈接
E:visited 匹配所有已被點(diǎn)擊的鏈接
E:active 匹配鼠標(biāo)已經(jīng)其上按下狈惫,還沒有釋放的E元素
E:hover 匹配鼠標(biāo)懸停其上的E元素
E:focus 匹配獲得當(dāng)前焦點(diǎn)的E元素
E:nth-child(n) 匹配其父元素的第n個(gè)子元素
E:nth-last-child(n) 匹配其父元素的倒數(shù)第n個(gè)子元素
E:last-child E的父元素下的最后一個(gè)子元素
組合選擇器 含義
E,F 多元素選擇器狭归,用,分隔夭坪,同時(shí)匹配元素E或元素F
E F 后代選擇器,用空格分隔唉铜,匹配E元素所有的后代(不只是子元素台舱、子元素向下遞歸)元素F
E>F 子元素選擇器,用>分隔潭流,匹配E元素的所有直接子元素
E+F 直接相鄰選擇器竞惋,匹配E元素之后的相鄰的同級(jí)元素F
E~F 普通相鄰選擇器(弟弟選擇器),匹配E元素之后的同級(jí)元素F(無論直接相鄰與否)
.class1.class2 id和class選擇器和選擇器連寫的時(shí)候中間沒有分隔符灰嫉,. 和 # 本身充當(dāng)分隔符的元素
element#id id和class選擇器和選擇器連寫的時(shí)候中間沒有分隔符拆宛,. 和 # 本身充當(dāng)分隔符的元素
偽元素選擇器 含義
E::before 在E元素之前插入生成的內(nèi)容
E::after 在E元素之后插入生成的內(nèi)容
E::first-line 匹配E元素內(nèi)容的第一行
E::first-letter 匹配E元素內(nèi)容的第一個(gè)字母

3. 選擇器的優(yōu)先級(jí)是怎樣的?對(duì)于復(fù)雜場景如何計(jì)算優(yōu)先級(jí)?

從高到低分別是:

  1. 在屬性后面使用 !important 會(huì)覆蓋頁面內(nèi)任何位置定義的元素樣式
  2. 作為style屬性寫在元素標(biāo)簽上的內(nèi)聯(lián)樣式
  3. id選擇器
  4. 類選擇器
  5. 偽類選擇器
  6. 屬性選擇器
  7. 標(biāo)簽選擇器
  8. 通配符選擇器
    9.瀏覽器自定義

復(fù)雜場景時(shí)讼撒,計(jì)算優(yōu)先級(jí)時(shí)通過數(shù)標(biāo)簽來計(jì)算浑厚,先數(shù)id,如果id相等再數(shù)類根盒,如果id不相等钳幅,id多的選擇器權(quán)重高,權(quán)重越高炎滞,優(yōu)先級(jí)越高敢艰。如果id選擇器數(shù)量相同,再數(shù)類選擇器册赛,最后數(shù)標(biāo)簽钠导。

4. a:link, a:hover, a:active, a:visited 的順序是怎樣的震嫉? 為什么?

a:link
a:visited
a:hover
a:active
原因:

  • 當(dāng)鼠標(biāo)移動(dòng)到a標(biāo)簽上牡属,此時(shí)與標(biāo)簽顏色相關(guān)的選擇器有:a:link,a:visited,a:hover,這三個(gè)選擇器擁有相同的優(yōu)先級(jí)票堵,但是被寫在最后的選擇器會(huì)覆蓋掉之前的選擇器,因此要想實(shí)現(xiàn)“當(dāng)鼠標(biāo)移動(dòng)到a標(biāo)簽上變換顏色”的效果逮栅,需要將a:hover置于 a:link 和 a:visited 之后
  • 當(dāng)鼠標(biāo)點(diǎn)擊a標(biāo)簽悴势,此時(shí)與標(biāo)簽顏色相關(guān)的選擇器有:a:link,a:visited,a:hover和a:active,這四個(gè)選擇器擁有相同的優(yōu)先級(jí)证芭,但是被寫在最后的選擇器會(huì)覆蓋掉之前的選擇器瞳浦,因此要想實(shí)現(xiàn)“當(dāng)鼠標(biāo)點(diǎn)擊a標(biāo)簽時(shí)變換顏色”的效果担映,需要將a:active置于a:link,a:visited,a:hover 之后废士。

5.以下選擇器分別是什么意思?

選擇器的樣式 含義
#header{ } id選擇器,匹配id="header"的元素
.header{ } 類選擇器蝇完,匹配class="header"的元素
.header .logo{ } 后代選擇器官硝,匹配class="header"元素的后代元素中class="logo"的元素
.header.mobile{ } 類選擇器,匹配class="header mobile"的元素
.header p, .header h3{ } 多元素選擇器短蜕,匹配class="header"元素的后代p元素和后代h3元素
#header .nav>li{ } 多元素選擇器氢架,匹配id="header"元素的后代class="nav"元素的直接后代li元素
#header a:hover{ } 偽類選擇器,匹配id="header"元素的后代a元素鼠標(biāo)懸浮在其表面時(shí)的樣式

6. 列出你知道的偽類選擇器.

偽類選擇器 含義
E:first-child E的父元素下的第一個(gè)子元素
E:link 匹配所有未被點(diǎn)擊的鏈接
E:visited 匹配所有已被點(diǎn)擊的鏈接
E:active 匹配鼠標(biāo)已經(jīng)其上按下朋魔,還沒有釋放的E元素
E:hover 匹配鼠標(biāo)懸停其上的E元素
E:focus 匹配獲得當(dāng)前焦點(diǎn)的E元素
E:nth-child(n) 匹配其父元素的第n個(gè)子元素
E:nth-last-child(n) 匹配其父元素的倒數(shù)第n個(gè)子元素
E:last-child E的父元素下的最后一個(gè)子元素

7. div:first-child和div:first-of-type的作用和區(qū)別?

  • :first-child 匹配的是某父元素的第一個(gè)子元素岖研,可以說是結(jié)構(gòu)上的第一個(gè)子元素。

  • :first-of-type 匹配的是該類型的第一個(gè)警检,類型是指什么呢孙援,就是冒號(hào)前面匹配到的東西,比如 p:first-of-type扇雕,就是指所有p元素中的第一個(gè)拓售。這里不再限制是第一個(gè)子元素了,只要是該類型元素的第一個(gè)就行了镶奉,當(dāng)然這些元素的范圍都是屬于同一級(jí)的础淤,也就是同輩的。

8. 運(yùn)行如下代碼哨苛,解析下輸出樣式的原因鸽凶。

<style>
.item1:first-child{
color: red;
}
.item1:first-of-type{

background: blue;
}
</style>
<div class="ct">
<p class="item1">aa</p>
<h3 class="item1">bb</h3>
<h3 class="item1">ccc</h3>
</div>

  • .item1:first-child{
    color: red;
    }
    這會(huì)讓aa變成紅色;
  • .item1:first-of-type{
    background: blue;
    }
    這會(huì)讓aa和bb都變成藍(lán)色建峭。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末玻侥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子迹缀,更是在濱河造成了極大的恐慌使碾,老刑警劉巖蜜徽,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異票摇,居然都是意外死亡拘鞋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門矢门,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盆色,“玉大人,你說我怎么就攤上這事祟剔「舳悖” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵物延,是天一觀的道長宣旱。 經(jīng)常有香客問我,道長叛薯,這世上最難降的妖魔是什么浑吟? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮耗溜,結(jié)果婚禮上组力,老公的妹妹穿的比我還像新娘。我一直安慰自己抖拴,他們只是感情好燎字,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阿宅,像睡著了一般候衍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上家夺,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天脱柱,我揣著相機(jī)與錄音,去河邊找鬼拉馋。 笑死榨为,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的煌茴。 我是一名探鬼主播随闺,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蔓腐!你這毒婦竟也來了矩乐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎散罕,沒想到半個(gè)月后分歇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欧漱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年职抡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片误甚。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缚甩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出窑邦,到底是詐尸還是另有隱情擅威,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布冈钦,位于F島的核電站郊丛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏派继。R本人自食惡果不足惜宾袜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一捻艳、第九天 我趴在偏房一處隱蔽的房頂上張望驾窟。 院中可真熱鬧,春花似錦认轨、人聲如沸绅络。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恩急。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背再沧。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國打工尺栖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人补疑。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窗看。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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

  • 1.class 和 id 的使用場景? class:類選擇器倦炒,一個(gè)標(biāo)簽可以有多個(gè)類且同一個(gè)類可以用到不同的標(biāo)簽上显沈,...
    饑人谷_兔子君閱讀 1,183評(píng)論 0 0
  • 1、class和id的使用場景分別是什么? 首先拉讯,一個(gè)HTML文件中class名字可以有多個(gè)相同的涤浇,但是id的名字...
    李博洋li閱讀 891評(píng)論 0 1
  • class和id的使用場景 class指定標(biāo)簽的類名,屬性值可出現(xiàn)在多個(gè)標(biāo)簽中魔慷。id指定標(biāo)簽的唯一標(biāo)識(shí)芙代,為某一元素...
    饑人谷_saybye閱讀 449評(píng)論 0 0
  • id與class的使用場景 id選擇器,匹配特定id的元素類選擇器盖彭,匹配class包含(不是等于)特定類的元素id...
    姚小帥閱讀 315評(píng)論 0 0
  • class 和 id 的使用場景?class指定標(biāo)簽的類名纹烹, 把需要相同樣式的元素歸類于一個(gè)name下,需要此樣式...
    饑人谷_CCCLARITY閱讀 243評(píng)論 0 0