2013-10-10 43 views
3

我定义如下CSS类:CSS类textarea的工作,但不能与输入文本

.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不接受我的课吗?

+3

除非问题是关系到模板代码本身,只提供了生成的HTML。 – cimmanon

+0

我会发布,但HTML是好的。它正确地生成div和类。像马克说的那样,我想这是具有特异性的东西。 – cenouro

+0

你应该提供足够的代码来复制问题,否则很难调试。模板代码和一行CSS不会那样做。 – cimmanon

回答

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领域的其他款式。

该类在textarea上工作的事实可能相关,也可能不相关。

有关CSS选择器的特异性的更多信息,
见:​​

相关问题