Html CSS选择器,用于选择相对于特定元素的元素

Html CSS选择器,用于选择相对于特定元素的元素,html,css,Html,Css,我正在尝试只使用css在输入周围绘制彩色边框。 我不确定是否可以用纯css完成,但也许有一个css3选择器,我已经监督过了 这是一把迷你小提琴: ` .错误{ 边框:1px纯红; } 我希望1号有绿色边框,2号有蓝色边框。有什么想法吗? 再次声明:不允许使用JS:) 重要提示:只有当第一个输入有class=error时,才应将其着色。您可以执行以下操作: CSS: 编辑问题后,包括仅当设置了.error类时才应设置颜色的条件: 在当前的HTML结构中,您将无法仅以CSS作为最后一个输入的

我正在尝试只使用css在输入周围绘制彩色边框。 我不确定是否可以用纯css完成,但也许有一个css3选择器,我已经监督过了

这是一把迷你小提琴:



` .错误{ 边框:1px纯红; }
我希望1号有绿色边框,2号有蓝色边框。有什么想法吗? 再次声明:不允许使用JS:)

重要提示:只有当第一个输入有class=error时,才应将其着色。

您可以执行以下操作:

CSS:

编辑问题后,包括仅当设置了
.error
类时才应设置颜色的条件:

在当前的HTML结构中,您将无法仅以CSS作为最后一个输入的目标,因为它不是
.error
元素的兄弟或后代

解决方法:

更改html标记,使两个输入都是
输入的同级。错误
输入:

HTML:

你可以做:

CSS:

编辑问题后,包括仅当设置了
.error
类时才应设置颜色的条件:

在当前的HTML结构中,您将无法仅以CSS作为最后一个输入的目标,因为它不是
.error
元素的兄弟或后代

解决方法:

更改html标记,使两个输入都是
输入的同级。错误
输入:

HTML:


你想这样做吗

input[value="red border"]{
   border: 1px solid red;
}
input[value="green border"]{
   border: 1px solid green;
}
input[value="blue border"]{
   border: 1px solid blue;
}

你想这样做吗

input[value="red border"]{
   border: 1px solid red;
}
input[value="green border"]{
   border: 1px solid green;
}
input[value="blue border"]{
   border: 1px solid blue;
}

是的,但是您的第二个选择器不依赖于错误ClassDam。。我就是这么想的。。。谢谢你的验证@ThomasSolti编辑了答案:在当前的html结构中,您将无法实现您的目标。是的,但是您的第二个选择器不依赖于错误ClassDam。。我就是这么想的。。。谢谢你的验证@ThomasSolti编辑了答案:在当前的html结构中,您将无法实现您的目标。对不起,没有。。我编辑了这个问题并补充道:“只有当第一个输入有class=error时,它们才应该被着色。”!对不起,没有。。我编辑了这个问题并补充道:“只有当第一个输入有class=error时,它们才应该被着色。”!很抱歉
<table>
    <tr>
        <td>
            <input class="error" value="red border"/>
            <input value="green border"/>
            <input value="blue border"/>
        </td>
    </tr>
</table>
.error { 
    border: 1px solid red;  
    display:block;
}

input.error+input { 
    border:1px solid green;
}
input.error+input+input { 
    border:1px solid blue;
}
input[value="red border"]{
   border: 1px solid red;
}
input[value="green border"]{
   border: 1px solid green;
}
input[value="blue border"]{
   border: 1px solid blue;
}