【发布时间】:2013-10-22 03:57:39
【问题描述】:
如果输入被禁用并且无法使其用于文本输入,我希望表单元素的标签显示为灰色。我尝试了以下方法:
input:disabled {
background:#dddddd;
}
input:disabled+label{color:#ccc;}
<input type='checkbox' disabled id='check1'>
<label for='check1'>Check</label>
<br>
<label for='text1'>Text</label>
<input type='text' id='text1' disabled>
样式适用于复选框标签,但不适用于文本标签。复选框是唯一可以让您通过 css 设置标签样式的输入类型吗?
我使用 Firefox 进行测试。
【问题讨论】:
-
input:disabled+label表示标签紧跟在输入之后。在您的 HTML 中,标签位于文本输入之前。 (但“之前”没有 CSS。) -
那可不好玩。谢谢。
-
您应该使用 javascript 或您的模板引擎向
label元素添加和删除"disabled"类。这应该不难,因为禁用元素已经意味着您正在对表单进行某种编程。