4

我有一个定义如下的 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 不接受我的课程吗?

4

1 回答 1

1

我认为您的 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字段的其他样式。

课程在 a 上工作的事实textarea可能相关,也可能不相关。

有关 CSS 选择器的特殊性的更多信息,
请参阅:http ://www.w3.org/TR/CSS2/cascade.html#specificity

于 2013-10-10T18:36:31.203 回答