日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

css選擇器優(yōu)先級深入理解

 bleach尸魂界 2014-08-03
本資源引自:
css選擇器優(yōu)先級深入理解_CSS教程_CSS_網(wǎng)頁制作_腳本之家
http://www.jb51.net/css/67029.html
------------------------------------------------------------------------------------------------------------------------------------
當(dāng)前位置 : 主頁 > 網(wǎng)頁制作 > CSS > CSS教程 >

css選擇器優(yōu)先級深入理解

來源:互聯(lián)網(wǎng) 作者:佚名 時間:12-04 10:44:13 【
css基礎(chǔ)選擇器有標(biāo)簽選擇器、類選擇器、id選擇器、通用選擇器,本文將深入介紹css選擇器優(yōu)先級,這會給正在解決優(yōu)先級問題的朋友,帶來些許幫助
 一、基礎(chǔ)選擇器
css基礎(chǔ)選擇器有標(biāo)簽選擇器、類選擇器、id選擇器、通用選擇器

1.標(biāo)簽選擇器
每個html頁面都由很多個標(biāo)簽組成,通過標(biāo)簽選擇器可以對某類標(biāo)簽應(yīng)用相應(yīng)的樣式,如對p標(biāo)簽應(yīng)用下面的樣式,則頁面中所有的p標(biāo)簽都會生效

代碼如下:
p{ font-size:12px; color:red; background:blue; }

2.類選擇器
類選擇器是css非常常用的選擇器,在html中可以為某個標(biāo)簽增加class屬性,如

代碼如下:

<div class="error"> </div>

則可以為對應(yīng)的class設(shè)置樣式

代碼如下:

error{ width:200px; padding:5px; color:red;}

類選擇器可以復(fù)用,如對頁面中的p標(biāo)簽也可以應(yīng)用此樣式

代碼如下:

This is a test!

另外,一個標(biāo)簽可以有多個類選擇器,不同的值用空格隔開,這樣多個樣式便可以應(yīng)用的一個標(biāo)簽上。

3.id選擇器
id選擇器和類選擇器一樣,用的也很頻繁,但是id在每個html頁面的值必須是唯一的,所以它不可以復(fù)用,如:

代碼如下:

<div id="content"> </div>

這里補充說明下id與class的命名規(guī)范,命名時盡可能的保持名稱與表現(xiàn)形式無關(guān),如 某段提示文字顯示為紅色,可以命名為red,但是若日后改成藍(lán)色,則red名與之不對應(yīng),更好的選擇如error或tips。所以應(yīng)該根據(jù)它是什么來命名 而不是 根據(jù) 它的外觀如何來命名。

4.通用選擇器
不同于上面的三種選擇器,通用選擇器要強大的多,它可以對頁面中的所有html標(biāo)簽應(yīng)用樣式,當(dāng)然也正是因為如此強大,反而限制了它的靈活性,在實際應(yīng)用中用的較少。一般簡單的css reset會用到,如:

代碼如下:

*{ margin:0; padding:0;}

二、組合選擇器
1.群主選擇器
在使用選擇器時,有的元素樣式是一樣的,每次都為不同的選擇器單獨定義樣式的話太繁瑣,這時我們便可以使用群主選擇器集中定義樣式。不同標(biāo)簽或類以逗號隔開。如:

代碼如下:

div, h2, .error{ font-size:14px; color:red;}

這樣我們便同時給div, h2, .error一起定義了樣式。
2.子選擇器
當(dāng)我們想讓父元素下的某個子元素表現(xiàn)為特定的樣式時,我們可以用子選擇器,如

代碼如下:

div>a{ color:blue; text-decoration:none;}

此時,div下的子元素a都將變成藍(lán)色字體,無下劃線。
3.后代選擇器
在上面的例子中,利用子選擇器,只可以設(shè)置div下的子元素a,但是若想改變div下的所有a標(biāo)簽的樣式,就需要用到后代選擇器。代碼如下:

代碼如下:

div a{ color:blue; text-decoration:none;}

4.同胞選擇器
除了上面的子選擇器與后代選擇器,我們可能還希望找到兄弟兩個當(dāng)中的一個,如一個標(biāo)題h1元素后面緊跟了兩個段落p元素,我們想定位第一個段落p元素,對它應(yīng)用樣式。我們就可以使用相鄰?fù)x擇器??聪旅娴拇a:

代碼如下:

h1 + p{font-size:14px; background:#ccc; }

三、屬性選擇器說明:以下提到的E表示元素,attr表示屬性,val表示屬性的值
1.E[attr]選擇器
匹配所有具有attr屬性的E元素,不考慮它的值。如以下代碼可以匹配所有含有title屬性的p元素。

代碼如下:

p[title]{font-size:12px; color:#666;}

2.E[attr=val]
匹配所有attr屬性值為val的E元素。如匹配所有class值為test的p元素

代碼如下:

p[class="test"]{color:red;}

3.E[attr~=val]
匹配具有attr屬性且屬性值為用空格分隔的字符列表,其中一個值等于val的E元素。如:

代碼如下:

p[class~="name"]{font-size:12px; color:red;}

代碼如下:

<div class="test name">111111</div><div class="name">111111</div>

則第一個div會應(yīng)用上面的樣式。
4.E[attr|=val]
匹配具有attr屬性且屬性值為用連接符分隔的字符串,并以val開頭的E元素。

代碼如下:

p[class|="test"]{font-size:12px; color:red;}
<div class="test">111111</div><div class="test-123">111111</div>

則第二個div會應(yīng)用上面的樣式。
最后不得不提的是IE6不支持子選擇器、同胞選擇器和屬性選擇器,因此使用時需注意。
css優(yōu)先級
優(yōu)先級算是css中的一個非常重要的知識點,也是筆試面試中經(jīng)常會考到的知識點。
一、什么是css優(yōu)先級
css優(yōu)先級,即是指CSS樣式在瀏覽器中被解析的先后順序。
二、css優(yōu)先級規(guī)則
比較簡單易記的一種方法就是給不同選擇器分配不同的值:
1.id選擇器默認(rèn)優(yōu)先級最高,其權(quán)值為100
2.class選擇器、屬性選擇器和偽類選擇器的權(quán)值為10
3.標(biāo)簽選擇器的優(yōu)先級較低,其權(quán)值為1
所以在比較樣式的優(yōu)先級時,只需統(tǒng)計選擇符中的id、class、標(biāo)簽名個數(shù),然后把對應(yīng)的權(quán)值相加即可。根據(jù)結(jié)果便可得出優(yōu)先級高低。
1.結(jié)果較大的優(yōu)先級較高
2.結(jié)果相同,則后定義的樣式優(yōu)先級較高
3.如果樣式值中含有!important,則該值優(yōu)先級最高
舉例

代碼如下:

h2{color:blue;}//其權(quán)值為1
#content{color:#666;}//其權(quán)值為100p
.test{color:#ccc;}//其權(quán)值為1+10=11
#main div .test{color:red;}//其權(quán)值為100+1+10=111div
#main .left #nav{color:#000}//其權(quán)值為1+100+10+100=211

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多