CSS復(fù)合選擇器
1. 后代選擇器(包含選擇器)
可以選擇父元素里面的子元素。
/*表示選擇元素1里面的所有元素2*/
元素1 元素2 {樣式聲明}
eg.
/*選擇ol里面所有的li標(biāo)簽元素改為藍(lán)色*/
ol li {
color: blue;
}
注:
針對最后一條寫一個(gè)例子。
<ol class="demo">
<li></li>
<li></li>
<li><span>我想變成藍(lán)色</span></li>
</ol>
/*CSS樣式的后代選擇器寫為如下*/
.demo li span {
color: blue;
}
2. 子元素選擇器(子選擇器)
只能選擇某元素的最近一級(jí)子元素(只選擇兒子,不選擇其余后代)。
/*表示選擇元素1里面的所有直接后代(子元素)元素2*/
元素1>元素2 {樣式聲明}
eg.
<div>
<p>我是兒子1
<p>我是孫子1</p>
</p>
<p>我是兒子2
<p>我是孫子2</p>
</p>
</div>
/*選擇div里面所有最近一級(jí)p標(biāo)簽元素,字體大小改為12px*/
/*選中的是兒子*/
div > p {
font-size: 12px;
}
注:
- 元素1和元素2中間用“>”隔開
- 元素1是父級(jí),元素2是子級(jí),最終選擇的是元素2
- 元素2必須是親兒子,與剩余后代無關(guān)
3. 并集選擇器
可以選擇多組標(biāo)簽,同時(shí)為它們定義相同的樣式。
通常用于集體聲明。
/*表示選擇元素1和元素2*/
元素1, 元素2 {樣式聲明}
<span>我和div里的文本都會(huì)變成藍(lán)色</span>
<div>
我和span里的文本都會(huì)變成藍(lán)色
</div>
/*CSS樣式的并集選擇器寫為如下*/
span,
div {
color: blue;
}
注:
- 元素1和元素2中間用“,”隔開
- 書寫時(shí)建議豎著寫
4. 鏈接偽類選擇器
| 類型 |
作用 |
| a:link |
選擇所有未被點(diǎn)擊的鏈接 |
| a:visited |
選擇所有已被點(diǎn)擊的鏈接 |
| a:hover |
選擇鼠標(biāo)經(jīng)過的鏈接 |
| a:active |
選擇鼠標(biāo)按下未彈起的鏈接 |
也可以為a指定類名,然后通過類名使用鏈接偽類選擇器。
鏈接偽類選擇器注意事項(xiàng):
- 為了確保生效,請按照LVHA的順序聲明。(:link -> :visited -> :hover -> :active)
- 因?yàn)閍鏈接在瀏覽器中具有默認(rèn)樣式(顏色為藍(lán)色,有下劃線等),所以在實(shí)際工作中都需要給鏈接單獨(dú)指定樣式。
鏈接偽類選擇器在實(shí)際工作開發(fā)中的寫法:
a {
color: gray;
}
a:hover {
color: red;/*鼠標(biāo)經(jīng)過的時(shí)候,由原來的灰色變成了紅色*/
}
5. :focus偽類選擇器
用于選取獲得焦點(diǎn)的表單元素,焦點(diǎn)就是光標(biāo)。
一般情況下,<input>類表單元素才能獲取,所以這個(gè)選擇器主要針對于表單元素來說。
eg.
<input type="text" value="我想獲得光標(biāo)后背景顏色就變成紅色">
/*CSS樣式的:focus偽類選擇器寫為如下*/
input:focus {
background-color: red;
}
6. 總結(jié)
| 選擇器 |
作用 |
特征 |
使用情況 |
用法 |
| 后代選擇器 |
選擇后代元素 |
可以是子孫后代 |
較多 |
.demo span |
| 子元素選擇器 |
選擇最近一級(jí)后代元素 |
只選擇親兒子 |
較少 |
.demo>span |
| 并集選擇器 |
選擇某些具有相同樣式的元素 |
可以用于集體聲明 |
較多 |
.demo1, .demo2 |
| 鏈接偽類選擇器 |
選擇不同狀態(tài)的鏈接 |
與鏈接相關(guān) |
較多 |
a:link、a:visited、a:hover、a:active |
| :focus偽類選擇器 |
選擇獲得光標(biāo)的表單 |
與表單相關(guān) |
較少 |
input:focus |
|