CSS基礎(chǔ)掃盲——CSS選擇器(前端學(xué)習(xí)&&拾遺)

CSS基礎(chǔ)掃盲-CSS選擇器

為什么會(huì)有CSS選擇器

一個(gè)HTML文件由很多HTML標(biāo)簽構(gòu)成,我們有很多CSS規(guī)則或者描述文件讓這些HTML長(zhǎng)得異常炫酷辟灰。但是問(wèn)題是我們?nèi)绾握业竭@些HTML標(biāo)簽个榕?又如何讓一個(gè)CSS對(duì)一組標(biāo)簽起作用,又如何讓某個(gè)標(biāo)簽在這些統(tǒng)一的CSS中長(zhǎng)得又別樣一些芥喇?如何讓這些CSS規(guī)則又只對(duì)某個(gè)標(biāo)簽的子標(biāo)簽起作用西采?這就涉及到CSS選擇器,也就是讓CSS找到匹配的標(biāo)簽(可能是一個(gè)继控,也可能是多個(gè))械馆。

常見CSS選擇器

鑒于上面的場(chǎng)景誕生了很多種CSS選擇器。下面我們介紹下常見的CSS選擇器武通,為了方面下文描述類選擇器霹崎,下面預(yù)先給一段HTML片段,所有的CSS都是基于該HTML(建議大家可以對(duì)著下面的代碼在瀏覽器里實(shí)踐一遍加深印象)冶忱。

<div class="hello" id="hello-p">
  <p class="hello" id="hello-s">
    Hello<strong>strong</strong>
  </p>
  <p class="world" id="world">
    world!
  </p>
  <p class="hello" id="hello-coder">
    Hello coder!
  </p>
  <strong>strong2</strong>
</div>
  • 標(biāo)簽選擇器

    標(biāo)簽選擇器就是匹配某一類標(biāo)簽的選擇器尾菇。直接用標(biāo)簽名字后面接CSS描述內(nèi)容,如下:

    div {
      background-color: red;
    }
    

    這就表示整個(gè)html文檔中所有div標(biāo)簽的背景色都為紅色。如果有多個(gè)同樣的標(biāo)簽選擇器错沽,那么順序靠后的生效簿晓。如下:

    div {
      background-color: red;
    }
    div {
      background-color: green;
    }
    

    最終效果是div的背景色為綠色。

  • 類選擇器

    類選擇器是會(huì)匹配具有同樣類名的一組標(biāo)簽的選擇器千埃。用“.”+類名 來(lái)描述類選擇器憔儿,如下:

    .hello {
      background-color: red;
    }
    

    這樣就會(huì)讓div以及div下面的第一個(gè)和第三個(gè)p標(biāo)簽的背景色都為紅色。也就是類選擇器可以做到選擇一組不同類型的標(biāo)簽放可。突破了標(biāo)簽選擇器只能選擇同一類標(biāo)簽的限制谒臼。典型場(chǎng)景:多個(gè)標(biāo)簽都有外觀,比如背景色耀里,大小蜈缤,圓角等。

  • id選擇器

    id選擇器就是精準(zhǔn)匹配某一個(gè)元素的選擇器冯挎。如其名所說(shuō)底哥,id通常具有唯一性,也就是定位某個(gè)單一元素房官;如果細(xì)心的同學(xué)就能夠發(fā)現(xiàn)前面兩個(gè)選擇器都是組選擇器(也就是能夠選擇到多個(gè)標(biāo)簽)趾徽。用“#”+id 名描述id選擇器,如下:

    #hello-p {
      background-color: red;
    }
    

    id為hello-p的p標(biāo)簽背景色會(huì)變?yōu)榧t色翰守。注意優(yōu)先級(jí)id選擇器>類選擇器>標(biāo)簽選擇器孵奶。

  • 后代選擇器

    后代選擇器選擇器表示匹配指定標(biāo)簽后代的選擇器。通常后臺(tái)選擇器由兩部分構(gòu)成:父選擇器 + 空格 + 子類選擇器蜡峰。比如我們想讓div標(biāo)簽的第二個(gè)p標(biāo)簽背景色變?yōu)榧t色了袁,可以如下寫

    .hello .world {
        background-color: red;
    }
    

    注意兩個(gè)選擇器之間有空格。表示在所有類為hello的標(biāo)簽的子標(biāo)簽中湿颅,將類名為world的標(biāo)簽背景色置為紅色载绿。注意如果是想多個(gè)選擇器共用一個(gè)CSS描述規(guī)則,選擇器之間用逗號(hào)隔開肖爵。如下將id為hello-s和world背景色均置為紅色:

    #hello-s,#world {
      background-color: darkred;
    }
    
  • 子類選擇器

    子類選擇器是匹配標(biāo)簽的直接子標(biāo)簽卢鹦,不影響其子標(biāo)簽的后代的選擇器。也就是只影響第一代劝堪。父選擇器 + “>” + 子類選擇器冀自,如下我們想將div標(biāo)簽的直接strong標(biāo)簽背景色置為紅色:

    div > strong {
      background-color: red;
    }
    

    可以看到div的直接strong子標(biāo)簽的背景色改變變?yōu)榱思t色,而id為hello-s的標(biāo)簽p標(biāo)簽里的strong標(biāo)簽則沒有任何變化秒啦。注意在表達(dá)子類時(shí)候也可以用選擇器嵌套熬粗。

  • 相鄰兄弟選擇器

    相鄰兄弟選擇器會(huì)匹配標(biāo)簽的兄弟標(biāo)簽(前提是這兩個(gè)兄弟標(biāo)簽具有共同父標(biāo)簽)。通常是選擇器 + “+” + 標(biāo)簽余境。如下將id為hello-s的p標(biāo)簽緊接著p標(biāo)簽背景色變?yōu)榧t色:

    #hello-s + p {
      background-color: red;
    }
    

基本上能看到的復(fù)雜CSS選擇器都是上面的幾種組合驻呐,萬(wàn)變不離其宗灌诅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市含末,隨后出現(xiàn)的幾起案子猜拾,更是在濱河造成了極大的恐慌,老刑警劉巖佣盒,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挎袜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡肥惭,警方通過(guò)查閱死者的電腦和手機(jī)盯仪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蜜葱,“玉大人全景,你說(shuō)我怎么就攤上這事∏6冢” “怎么了爸黄?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)揭鳞。 經(jīng)常有香客問(wèn)我馆纳,道長(zhǎng),這世上最難降的妖魔是什么汹桦? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮鉴裹,結(jié)果婚禮上舞骆,老公的妹妹穿的比我還像新娘。我一直安慰自己径荔,他們只是感情好督禽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著总处,像睡著了一般狈惫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鹦马,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天胧谈,我揣著相機(jī)與錄音,去河邊找鬼荸频。 笑死菱肖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的旭从。 我是一名探鬼主播稳强,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼场仲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了退疫?” 一聲冷哼從身側(cè)響起渠缕,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎褒繁,沒想到半個(gè)月后亦鳞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澜汤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蚜迅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俊抵。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谁不,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出徽诲,到底是詐尸還是另有隱情刹帕,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布谎替,位于F島的核電站偷溺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏钱贯。R本人自食惡果不足惜挫掏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秩命。 院中可真熱鬧尉共,春花似錦、人聲如沸弃锐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)霹菊。三九已至剧蚣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旋廷,已是汗流浹背鸠按。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饶碘,地道東北人待诅。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像熊镣,于是被迫代替她去往敵國(guó)和親卑雁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子募书,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345