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 元素的子元素。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 設計密碼工作室 的頭像
    設計密碼工作室

    Design Code 設計密碼

    設計密碼工作室 發表在 痞客邦 留言(0) 人氣()