CSS三大選擇器區(qū)別
本文向大家描述一下CSS中子選擇器、相鄰?fù)x擇器與屬性選擇器的使用,在CSS布局網(wǎng)頁開發(fā)中,我們還會(huì)用到一常非常有用的CSS選擇器,可以用它來進(jìn)行整體布局聲明,這就是通用CSS選擇器。
CSS命中目標(biāo):子選擇器、相鄰?fù)x擇器與屬性選擇器
在前面的文章中我們講了《類型選擇器與后代選擇器等》,通過這兩種CSS選擇器可以搞定很多東西,為它們找到目標(biāo)。在CSS布局網(wǎng)頁開發(fā)中,我們還會(huì)用到一常非常有用的CSS選擇器,可以用它來進(jìn)行整體布局聲明,這就是通用CSS選擇器??聪旅娴拇a:
ExampleSourceCode
- *{
- margin:0;
- padding:0;
- }
這種形式的代碼一般不會(huì)多次出現(xiàn),在頁面代碼中出現(xiàn)一次而已,但它的功能是非常強(qiáng)大的,在計(jì)算機(jī)領(lǐng)域中一般情況下都約定“*”為通配符,它的聲明將會(huì)作用于頁面中所有的可用元素,使用它可以定義一些頁面中基本的規(guī)則,如邊距margin、填充padding、字體font-family、文字大小font-size、背景顏色background-color等等。
由于某些瀏覽器不支持或支持的不夠好,下面所介紹的三種選擇器并不是非常的常用,至少目前的情況是這樣的,但隨著時(shí)間的推移,某些功能還是非常有用的,我們簡單了解一下子選擇器、相鄰?fù)x擇器與屬性選擇器。
子選擇器
請(qǐng)注意這個(gè)CSS選擇器與后代選擇器的區(qū)別,子選擇器(childselector)僅是指它的直接后代,或者你可以理解為作用于子元素的***個(gè)后代。而后代選擇器是作用于所有子后代元素。后代選擇器通過空格來進(jìn)行選擇,而子選擇器是通過“>”進(jìn)行選擇,我們看下面的代碼:
ExampleSourceCode
CSS:
- #linksa{color:red;}
- #links>a{color:blue;}
HTML:
- <pidpid="links">
- <ahrefahref="http://www.52css.com/">Div+CSS教程</a>>
- <ahrefahref="http://www.52css.com/">CSS布局實(shí)例</a>
- <ahrefahref="http://www.52css.com/">CSS2.0教程</a>
- </p>
我們將會(huì)看到***個(gè)鏈接元素“Div+CSS教程”會(huì)顯示成藍(lán)色,而其它兩個(gè)元素會(huì)顯示成紅色。當(dāng)然,或許你的瀏覽器并不支持這樣的CSS選擇符。我們?cè)谝婚_始也強(qiáng)調(diào)了不太兼容的現(xiàn)狀。
相鄰?fù)鸆SS選擇器
我們除了上面的子選擇器與后代選擇器,我們可能還希望找到兄弟兩個(gè)當(dāng)中的一個(gè),如一個(gè)標(biāo)題h1元素后面緊跟了兩個(gè)段落p元素,我們想定位***個(gè)段落p元素,對(duì)它應(yīng)用樣式。我們就可以使用相鄰?fù)x擇器??聪旅娴拇a:
ExampleSourceCode
CSS
- h1+p{color:blue}
HTML
- <h1>52CSS.com是一個(gè)非常專業(yè)的CSS站點(diǎn)</h1>
- <p>在52CSS.com的Div+CSS教程中,介紹了很多關(guān)于CSS網(wǎng)頁布局的知識(shí)。</p>
- <p>在52CSS.com的CSS布局實(shí)例中,有很多與CSS布局有關(guān)的案例。</p>
我們將會(huì)看到***個(gè)段落“在51cto.com的Div+CSS教程中,介紹了很多關(guān)于CSS網(wǎng)頁布局的知識(shí)。”文字顏色將會(huì)是藍(lán)色。而第二段則不受此CSS樣式的影響。
屬性選擇器
這個(gè)CSS選擇器也有點(diǎn)復(fù)雜,在實(shí)際應(yīng)用中對(duì)于新手來說還很遙遠(yuǎn),它是根據(jù)某個(gè)屬性是否存在或?qū)傩缘闹祦碚业侥繕?biāo)元素,是一個(gè)非常有意思的功能,如果能做到靈活運(yùn)用,其效果也會(huì)非常強(qiáng)大。關(guān)于這一塊的知識(shí)我們以后在52CSS.com的文章中詳細(xì)說明。
【編輯推薦】