01.選擇器有哪些
常用的標(biāo)簽痢站、ID磷箕、類選擇器不介紹了,這里講的選擇器兼容性阵难,主流的都可以岳枷,IE低版本的不行。
- 屬性選擇器
1多望、[att]
<input disabled type="text" value="張三">
[disabled]{background-color:#eee;}
2嫩舟、[att=val]
<input type="button" value="按鈕">
[type=button]{color:blue;}
注:其實(shí)ID選擇器也可以寫出這種屬性選擇器的樣子。
#nav{}==[id=nav]{}
3怀偷、[att~=val]
如何選中標(biāo)題和內(nèi)容呢家厌,就用這個
<h2 class="title sports">標(biāo)題</h2>
<p class="sports">內(nèi)容...</p>
[class~=sports]{color:blue;}
注:其實(shí)class選擇器也可以寫出這種屬性選擇器的樣子。
.sports{}==[class~=sports]
4椎工、[att|=val]
如何選中l(wèi)ang=en\en-us\en-au的p呢饭于,用這個,這個寫法不常用维蒙,一般會在lang屬性中使用的比較多掰吕。
<p lang="en">Hello!</p>
<p lang="en-us">Greetings!</p>
<p lang="en-au">G'day!</p>
<p lang="enfr">Bonjour!</p>
<p lang="cy-en">Jrooana!</p>
[lang|=en]{color:red;}
5颅痊、[att^=val] 如何選中href中帶#的頁面內(nèi)的超鏈接呢殖熟,用這個。
<a >W3C</a>
<a href="#html">HTML</a>
<a href="#css">CSS</a>
[href^="#"]{color:red;}
6斑响、[att$=val]以val屬性值為結(jié)尾的屬性
<a >word文檔.doc</a>
<a >pdf文件.pdf</a>
[href$=pdf]{color:red;}
7菱属、[att*=val]包含了val屬性值的屬性钳榨,比如選中超鏈接中包含http://lady.163.com的就可以用這個
<a >女星奧斯卡...</a>
<a >范瑋琪產(chǎn)后...</a>
<a >曝李楠有望...</a>
<a >皇馬1億先...</a>
[href*="lady.163.com"]{color:pink;}
- 偽類選擇器
1、a:link;a:visited;a:hover;a:active;設(shè)置超鏈接的選擇器纽门,四個配在一起使用薛耻,注意一定要這個順序的喲!
<a >網(wǎng)頁首頁</a>
a:link{color:gray;}
a:visited{color:red;}
a:hover{color:green;}
a:active{color:orange;}
2赏陵、:enabled 定義可用的狀態(tài)\:disabled 定義不可用的狀態(tài)\:checked 定義選中的狀態(tài)
input:enabled{color:#ccc;}
input:disabled{color:#ddd;}
input:checked{color:#red;}
3饼齿、:first-child:last-child以及:nth-child(even)
<ul>
<li>一</li>
<li>二</li>
<li>三</li>
<li>四</li>
<li>五</li>
<li>六</li>
</ul>
li:first-child{color:red;}//第一個
li:last-child{color:gray;}//最后一個
li:nth-child(even){color:green;}//偶數(shù)項(xiàng)
另外:nth-child(even)的變體可以這樣寫:nth-child(3n+1)
4、:only-child選中元素底下只有一個子元素的項(xiàng)
<ul>
<li>一</li>
</ul>
<ul>
<li>一</li>
<li>二</li>
</ul>
:only-child{color:red;}
5蝙搔、:first-of-type:last-of-type:nth-of-type(even):nth-last-of-type(2n)
<dl>
<dt>作者:</dt>
<dd>Dave Shea</dd>
<dd>Molly E. Holzschlag</dd>
<dt>出版社:</dt>
<dd>人民郵電出版社</dd>
</dl>
dd:first-of-type{color:red;} //Dave Shea
dt:last-of-type{color:gray;} //出版社:
dd:nth-of-type(even){color:green;} //偶數(shù)項(xiàng)Molly E. Holzschlag
dt:nth-last-of-type(2n){color:yellow;} //作者:
6缕溉、:only-of-type
<p><span>CSS</span>和<span>HTML</span>是頁面制作的基礎(chǔ)</p>
<p><span>CSS</span>主要是用于定義<em>HTML</em>內(nèi)容在瀏覽器的顯示樣子</p>
span:only-of-type{color:red;} //第二個CSS
7、:empty杂瘸,可以選中比如下面那個空的p標(biāo)簽倒淫。
<p></p>
<p>段落一</p>
8伙菊、:root 败玉,它選中的就是<html></html>這個根標(biāo)簽。
9镜硕、:not():target:lang()
- 偽元素選擇器
1运翼、
::first-letter
::first-line
2、
::before{content:"before";}
::after{content:"after";}
3兴枯、::selection應(yīng)用于被用戶選中的內(nèi)容
- 組合選擇器
有后代選擇器血淌、子選擇器、和兄弟選擇器财剖。
<div class="main">
<h2>標(biāo)題一</h2>
<div>
<h2>標(biāo)題二</h2>
<p>段落一</p>
<p>段落二</p>
</div>
</div>
.main h2{color:red;} //選中標(biāo)題一二悠夯,是后代選擇器
.main>h2{color:red;} //選中標(biāo)題一,是子選擇器
h2+p{color:red;} //選中段落一躺坟,是兄弟選擇器
h2~p{color:red;} //選中段落一二沦补,是兄弟選擇器
02.選擇器優(yōu)先級
- 行內(nèi)樣式:a
- ID選擇器的數(shù)量:b
- 類、偽類咪橙、屬性選擇器的數(shù)量:c
- 標(biāo)簽選擇器和偽元素選擇器的數(shù)量:d
a,b,c,d分別給1000,100,10,1的級別值
所以選擇器的最終值value=ax1000+bx100+cx10+dx1
舉個栗子
| 選擇器 | a | b | c | d | value |
| -----|:----:| :----:|:----:|: ----:|
| h1 | 0 | 0 | 0 | 1 | 1 |
| p>em | 0 | 0| 0 | 2| 2 |
| style="" | 1 | 0 | 0 | 0 | 1000 |
| .nav p | 0 | 0 | 1 | 1 | 11 |
| div #nav | 0 | 1 | 0 | 1| 101 |
| a:link | 0 | 0 | 1 | 1 | 11 |
樣式根據(jù)選擇器優(yōu)先級別呈現(xiàn)夕膀,優(yōu)先級別高的會覆蓋優(yōu)先級別低的,同級別的按照css書寫的順序美侦,先寫的會被后寫的覆蓋产舞。
而樣式里的屬性,不同的屬性會合并菠剩,同樣的屬性會根據(jù)優(yōu)先級規(guī)則以及書寫規(guī)則進(jìn)行覆蓋易猫。