假设 CSS 就像一扇单向门,一旦你打开它,你可以在那个房间里漫游,进入另一扇门,但同样的,如果元素不是直接后代,你将无法出来到它们的父级,或者嵌套级别不同,您现在无法以任何方式选择它们。
因此假设,如果元素彼此不相邻,但它们都在一个共同的父级下处于相同的嵌套级别,或者是另一个嵌套元素的子级,该嵌套元素与label
您的嵌套在同一级别checkbox
<div>
<input type="checkbox" />
<p>Hello</p>
<label>Color me on check</label>
</div>
演示
所以你可以像上面那样链接元素。
同一级别的相邻元素,您可以定位更进一步的嵌套元素,例如
input[type=checkbox]:checked + p + div > label {
color: red;
}
演示
但是,正如我所说,在选择器周围包裹元素的那一刻input type checkbox
将失败,一旦进入房间,您就无法离开房间
演示
所以就像
Parent
Checkbox Level 1
Div Level 1 input[type=checkbox]:checked + div
Label Level 1 input[type=checkbox]:checked + div + label
Span Level 2 (Child of label) input[type=checkbox]:checked + div + label > span
i Level 2 (Adjacent to span) input[type=checkbox]:checked + div + label > span + i
失败案例
Parent
Div Level 1
Checkbox Level 2 (Child of div)
Span Level (Adjacent to div) You won't be able to select this on check of checkbox