在css中,可以使用+
运算符选择元素后面的元素。例如,我只能选择直接跟随标签的输入:
label + input {
color: red;
}
有没有办法做相反的事情,所以就像"不相邻"?在我的示例中,有没有办法选择不直接跟随标签的所有输入?
编辑: 它需要选择不直接跟随标签的所有输入,包括没有任何标签的地方的输入。
答案 0 :(得分:7)
喜欢这个
:not(label) + input {
color: red;
}
......好吧,如果您在body标签后直接输入,则需要Oriol的额外选择器input:first-child
答案 1 :(得分:5)
我认为会是
input:first-child, :not(label) + input {
color: red;
}
input {
background: red;
}
input:first-child, :not(label) + input {
background: #0f0;
}
body > * {
display: block;
width: 100%;
}
<input value="Match (first child)" />
<label><label></label>
<span><span></span>
<input value="Match (immediately follows a non-label)" />
<label><label></label>
<input value="NO match (immediately follows a label)" />
<span><span></span>