有没有办法在+运算符的对面做一个"不相邻"的选择器

Pet*_*ete 6 css css-selectors css3

在css中,可以使用+运算符选择元素后面的元素.例如,我只能选择直接跟随标签的输入:

label + input {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做相反的事情,所以像"不相邻"?在我的例子中,有没有办法选择直接跟随标签的所有输入?

编辑:它需要选择不直接跟随标签的所有输入,包括没有任何标签的地方的输入.

LGS*_*Son 8

像这样

:not(label) + input {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

...好吧,如果您在身体标签后直接输入,则需要Oriol的额外选择器 input:first-child


Ori*_*iol 6

我想是的

input:first-child, :not(label) + input {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

input {
  background: red;
}
input:first-child, :not(label) + input {
  background: #0f0;
}
body > * {
  display: block;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<input value="Match (first child)" />
<label>&lt;label&gt;</label>
<span>&lt;span&gt;</span>
<input value="Match (immediately follows a non-label)" />
<label>&lt;label&gt;</label>
<input value="NO match (immediately follows a label)" />
<span>&lt;span&gt;</span>
Run Code Online (Sandbox Code Playgroud)