2013-10-10 77 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選擇器的特異性的更多信息,
見:​​

相關問題