标签绑定到输入的CSS选择器

Ted*_*ron 28 css css-selectors css3

在CSS中有没有办法选择label绑定到具有属性集的input字段(通过for属性)required?就像是:

label:input[required] {
  ...
}
Run Code Online (Sandbox Code Playgroud)

目前,我正在class="required"为样式添加标签和输入.我现在required="required"在所需的输入字段中有HTML5属性.删除冗余类属性会很不错.

我找到的最接近的答案不使用label元素的for属性,但要求它label与HTML中的输入直接相邻.

小智 10

您可以使用label[for="title"]其中“title”是您输入的 ID。例子:

<label for="title">Title</label>
<input type="text" id="title" name="title">
Run Code Online (Sandbox Code Playgroud)

CSS:

label[for="title"] {
  color: blue;
}
Run Code Online (Sandbox Code Playgroud)


Tom*_*Tom 8

CSS 2属性选择器如何 在浏览器之间非常兼容.

例:

<style>
label[required=required]
{
color: blue;
}
</style>
<label required="required" for="one">Label:</label><input name="one" id="one" />
Run Code Online (Sandbox Code Playgroud)

还要检查这个了.

  • 显然问题和答案使用格式,但评论不会.该建议的问题是required属性属于input元素,而不属于label元素.<label for ="email">电子邮件地址:</ label> <input id ="email"type ="email"name ="email"required ="required"/>同样在CSS中,最好只说:input [required]因为唯一有效的标记是:HTML - > required XHTML - > required ="required"required ="false"或类似的东西无效. (5认同)

小智 5

此解决方案可在大多数现代浏览器中使用:

<style>

label > input[required="required"] {
    background: red; 
}

</style>
<label for="myField"><input required="required" id="myField" /></label>
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用建议的标签/输入方式(而不是嵌套方式),则此方法无效 (2认同)
  • 这种方法的另一个问题,或者是做“ label + input [required]”的事情,是您在设置&lt;input&gt;标签而不是&lt;label&gt;的样式 (2认同)