最佳答案
有什么好办法可以克服这一令人遗憾的事实:
<div class="required">
<label>Name:</label>
<input type="text">
</div>
<style>
.required input:after { content:"*"; }
</style>
在理想情况下,所有必需的 input
都会得到一个小星号,表示该字段是必需的。这种解决方案是不可能的,因为 CSS 插入在元素内容之后,而不是在元素本身之后,但类似的东西将是理想的。在一个有数千个必填字段的网站上,我可以将星号移到输入前面的一行(:after
到 :before
) ,或者移到标签的末尾(.required label:after
) ,或者移到标签的前面,或者移到包含框的某个位置,等等。.
这一点很重要,不仅是因为我改变了在任何地方放置星号的想法,还因为表单布局不允许在标准位置放置星号的奇怪情况。它还可以很好地用于检查窗体或突出显示不正确完成的控件的验证。
最后,它没有添加额外的标记。
有没有什么好的解决方案具有不可能代码的全部或大部分优点?