在項目開發(fā)的過程中,同一個文檔中可能會用到很多相同的標(biāo)簽,也有可能用到很多相同的類名,這就導(dǎo)致 html 在開發(fā)中選擇器不好使用的問題,如果全部使用 id 選擇器又不符合語義化的效果。這時候,我們就可以使用后代選擇器了。接下來就讓小編來告訴你,html5 中怎么使用后代選擇器吧。
首先,html 中有兩種可以選擇后代的選擇器,一種是子元素選擇器,一種是后代選擇器,兩種選擇器在選擇方式上有所區(qū)別,以下圖的文檔結(jié)構(gòu)為例,我們來介紹一下這兩種選擇器。
后代選擇器
使用方式:
/*后代選擇器可以使用具有父子關(guān)系的元素進(jìn)行選擇(最少兩個),另外,每個子元素可以用標(biāo)簽方式表達(dá),也可以用類名,id,偽類等表達(dá)*/
element1 element2 element3{
樣式;
}
注:后代選擇器實(shí)際上是由多個選擇器組合而成,選擇器之間以空格隔開。
只要一個元素是另一個元素的子元素(子元素的子元素也可以)。
以上圖為例,要選擇li元素,可以使用如下方式:
/*簡寫為,content ul li{}也可*/
.content .model ul li{
樣式:
}
子元素選擇器
使用方式
/*子元素選擇器使用具有直接父子關(guān)系的元素進(jìn)行選擇(最少兩個),另外,每個子元素可以用標(biāo)簽方式表達(dá),也可以用類名,id,偽類等表達(dá)*/
element1>element2>element3{
樣式;
}
注:子元素選擇器實(shí)際上也是由多個選擇器組合而成,選擇器之間以>隔開。
子元素選擇器要求相鄰兩個元素之間具有直接父子關(guān)系(也就是不能使用子元素的子元素),以后代選擇器的案例為例,可以使用 ?.content>.model>ul>li
? 選擇,也可以使用 ?.model>ul>li
? 進(jìn)行選擇,但是不能使用 ?.content>ul>li
? 進(jìn)行選擇。
小結(jié)
有些教程喜歡把后代選擇器成為派生選擇器或者父子選擇器,喜歡把子元素選擇器稱為直接子元素選擇器。但他們都能選擇后代,只不過子元素選擇器比后代選擇器更加精準(zhǔn)(但是項目中使用后代選擇器的情況更多一些)。這兩種選擇器都是 html5 與 css3 都支持的(也就只有這兩種選擇器可以選擇后代)。以上就是 html 使用后代選擇器的全部介紹,學(xué)習(xí) HTML,就上W3Cschool!