我有一个 CSS 类定义如下:
.form_bg_color{ background: red; }
在我看来,我有以下表单行:
<%= f.text_field :source, class: "form_bg_color" %>
这应该会改变输入框的颜色,但它不起作用。
所以我做了一些测试。我将表单行更改为:
<%= f.text_field :source, style: "background:red;" %>
这行得通。此外,改用 text_area 并且该类也有效:
<%= f.text_area :source, class: "form_bg_color" %>
有人能告诉我为什么 text_field 不接受我的类(class)吗?
最佳答案
我认为您的 CSS 特异性冲突阻止了您的类 .form_bg_color
生效。
如果类本身,例如:
<%= f.text_field :source, class: "form_bg_color" %>
不起作用,但内联样式有效:
<%= f.text_field :source, style: "background:red;" %>
然后有另一个更高特异性的CSS规则生效。
您可能需要尝试以下方法:
input.form_bg_color {}
但您需要查看选择 input
字段的其他样式。
该类在 textarea
上工作的事实可能相关也可能不相关。
有关 CSS 选择器特性的更多信息,
参见:http://www.w3.org/TR/CSS2/cascade.html#specificity
关于html - 使用 textarea 但不使用输入文本的 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303377/