close
選擇相鄰
如果需要選擇緊接在另一個元素後的元素,而且二者有相同的父元素,可以使用相鄰選擇器(Adjacent sibling selector)。
例如,如果要增加緊接在h1 元素後出現的段落的上邊距,可以這樣寫:
h1 + p {margin-top:50px;}
這個選擇器讀作:“選擇緊接在h1 元素後出現的段落,h1 和p 元素擁有共同的父元素”。
語法解釋
相鄰選擇器使用了加號(+),即相鄰兄弟結合符(Adjacent sibling combinator)。
註釋:與子結合符一樣,相鄰結合符旁邊可以有空白符。
請看下面這個文檔樹片段:
<div> <ul> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ul> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> </div>
在上面的片段中,div 元素中包含兩個列表:一個無序列表,一個有序列表,每個列表都包含三個列表項。這兩個列表是相鄰,列表項本身也是相鄰。不過,第一個列表中的列表項與第二個列表中的列表項不是相鄰,因為這兩組列表項不屬於同一父元素(最多只能算堂兄弟)。
請記住,用一個結合符只能選擇兩個相鄰中的第二個元素。請看下面的選擇器:
li + li {font-weight:bold;}
上面這個選擇器只會把列表中的第二個和第三個列表項變為粗體。第一個列表項不受影響。
結合其他選擇器
相鄰結合符還可以結合其他結合符:
html > body table + ul {margin-top:20px;}
這個選擇器解釋為:選擇緊接在table 元素後出現的所有ul 元素,該table 元素包含在一個body 元素中,body 元素本身是html 元素的子元素。
全站熱搜
留言列表