在CSS中有没有一种方法可以选择绑定到input
字段的label
(通过for
属性),该字段具有required
属性集?
label:input[required] {
...
}
目前,我正在将class="required"
添加到标签和输入中以进行样式化,现在在必需的输入字段中有了HTML5属性required="required"
,删除多余的class属性会更好。
我找到的closest answer没有使用label
元素的for
属性,但要求label
直接与HTML中的输入相邻。
5条答案
按热度按时间fnatzsnv1#
CSS 2 Attribute Selectors怎么样?它在浏览器之间非常兼容。
示例:
同时检查this。
pokxtpni2#
可以使用
label[for="title"]
,其中“title”是输入的ID。例如:CSS:
rjjhvcjd3#
此解决方案适用于大多数现代浏览器:
fzwojiic4#
我不认为这可以通过CSS以OP想要的方式实现。CSS就是不能那样工作。
在我看来,一个更好的方法是退一步看全局。您有一个表单,其中一些字段是必填字段,一些不是。首先为用户提供所有必填字段,或者将必填字段组合在一起,并将它们与可选字段明确分开,这是一个好方法。
您可以创建如下结构
此方法有许多优点。您可以轻松地在“必需”组中添加和删除项,而不必单独修改每个项。您可以根据需要将“必需”类分配到链中的任意位置。如果表单具有“必需”类,则其中的所有内容都将标记为必需。需要进行更改的位置更少。如果你决定把“required”类命名为其他名称。一般来说,这种方法也可以帮助你更好地组织表单。你不应该把必填字段和可选字段混在一起。
您可以更进一步,使用一些javascript将所需的属性也注入到输入字段中。
mwg9r5ms5#
好吧,这是不可能的CSS(因为我尝试),你可以很容易地做到这一点在JS:
x一个一个一个一个x一个一个二个一个x一个一个三个一个