2012-08-17 136 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