2012-08-17 93 views
3

這個警告應該是直截了當的,但我無法弄清楚發生了什麼問題。CSS'你沒有顏色設置[...]'警告

來自W3C驗證確切的警告消息:You have no color set (or color is set to transparent) but you have set a background-color. Make sure that cascading of colors keeps the text reasonably legible.

這就是發生報警的CSS:

body { 
    background-image: url('./img/bg1.jpg'); 
    background-position: center top; 
    background-repeat: no-repeat; 
    color: #ffffff; 
    background-color: #007e29; /* <-- This is the line where the warning occurs */ 
} 

根據W3C的Docu和一些谷歌搜索,很顯然,對於每個background-color此元素必須有color屬性。但這是我在做什麼? color屬性設置爲白色,background-color設置爲深綠色。

那麼上面的CSS有什麼問題? 我相信我在這裏失去了一些東西......在此先感謝!

+0

在CSS驗證器(和HTML驗證器)中的警告沒有什麼意義。我通常完全忽略它們。 – 2012-08-17 09:24:54

+0

您是否嘗試過在'color:#fff;'行之前移動您的'background-color:#007e29;'行? – techfoobar 2012-08-17 09:25:07

+1

我剛剛在W3 CSS驗證器中驗證了它。 – Kyle 2012-08-17 09:25:19

回答

3

發佈的CSS代碼不會導致此類警告。沒有一個完整的例子,就不可能分析爲什麼CSS Validator似乎警告錯誤行。

無論如何,當人們對這個警告感到困惑時,原因是他們已經設置了例如body的背景和內容顏色,以及內部元素的其中一個屬性。人們經常認爲body中的任何元素都繼承body的顏色,但當其他樣式表參與時不一定會發生這種情況。這就是爲什麼CSS Validator會對此情況發出警告。這只是一個潛在的問題,並不經常實現,但仍然是一個風險。

+0

謝謝,我決定忽略它。我想解決它,因爲我有一個巨大的CSS文件,其中有0個錯誤,只有1個警告(提到的那個)。但是,在我必須在每個班(這是幾百個)中插入這兩個值之前,我會堅持這個警告。 ;) 不管怎樣,謝謝! – Chris 2012-08-17 11:29:27