相鄰兄弟選擇器(Adjacent sibling selector)可選擇緊接在另一元素后的元素,且二者有相同父元素。
如果需要選擇緊接在另一個元素后的元素,而且二者有相同的父元素,可以使用相鄰兄弟選擇器(Adjacent sibling selector)。
例如,如果要增加緊接在 h1 元素后出現(xiàn)的段落的上邊距,可以這樣寫:
h1 + p {margin-top:50px;}
這個選擇器讀作:“選擇緊接在 h1 元素后出現(xiàn)的段落,h1 和 p 元素擁有共同的父元素”。
相鄰兄弟選擇器使用了加號(+),即相鄰兄弟結(jié)合符(Adjacent sibling combinator)。
注釋:與子結(jié)合符一樣,相鄰兄弟結(jié)合符旁邊可以有空白符。
請看下面這個文檔樹片段:
- List item 1
- List item 2
- List item 3
- List item 1
- List item 2
- List item 3
在上面的片段中,div 元素中包含兩個列表:一個無序列表,一個有序列表,每個列表都包含三個列表項。這兩個列表是相鄰兄弟,列表項本身也是相鄰兄弟。不過,第一個列表中的列表項與第二個列表中的列表項不是相鄰兄弟,因為這兩組列表項不屬于同一父元素(最多只能算堂兄弟)。
請記住,用一個結(jié)合符只能選擇兩個相鄰兄弟中的第二個元素。請看下面的選擇器:
li + li {font-weight:bold;}
上面這個選擇器只會把列表中的第二個和第三個列表項變?yōu)榇煮w。第一個列表項不受影響。
相鄰兄弟結(jié)合符還可以結(jié)合其他結(jié)合符:
html > body table + ul {margin-top:20px;}
這個選擇器解釋為:選擇緊接在 table 元素后出現(xiàn)的所有兄弟 ul 元素,該 table 元素包含在一個 body 元素中,body 元素本身是 html 元素的子元素。
![]() | ![]() .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 |
![]() | ![]() .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |