CSS 鄰接同層選取器 +:只選緊接的下一個兄弟
使用 + 區隔兩個元素,選取 HTML 文件上某個元素同層且位於其後的一個兄弟元素。
以下案例便是利用 鄰接同層選取器 將對象選取出來並進行樣式的改變。
常見應用
css
/* 連續段落之間才加間距,第一段不加 */
p + p {
margin-top: 1em;
}
/* 欄位後面緊接的錯誤訊息 */
input:invalid + .error-message {
display: block;
}1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
第一個寫法可以避免 邊界重疊 帶來的困擾,也不必替第一段另外寫規則。
小提醒
兩個元素之間只要插進任何一個標籤,+ 就不再成立。純文字與 註解 則不影響判定。
常見問題
為什麼樣式突然失效了?
因為兩個元素之間插進了其他元素。+ 要求兩者緊鄰,中間只要多一個標籤就不再符合條件;純文字與註解則不影響。
它常用在什麼地方?
處理相鄰元素之間的間距,例如:標題後的第一段、連續 段落 之間的距離,也常用於欄位與它後面的錯誤訊息。
可以連續使用多個加號嗎?
可以,代表往後數第幾個兄弟。不過寫長了不易閱讀,多數情況用 結構性偽類 會更清楚。