3

这个警告应该是直截了当的,但我不知道出了什么问题。

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 文档和一些谷歌搜索,很明显,对于每个元素,都background-color必须有color属性。但这就是我在做什么?该color属性设置为白色和background-color深绿色。

那么上面的 CSS 有什么问题呢?我确定我在这里遗漏了一些东西......在此先感谢!

4

1 回答 1

3

发布的 CSS 代码不会引起这样的警告。如果没有完整的示例,就无法分析为什么 CSS Validator 似乎会警告错误的行。

无论如何,当人们对这个警告感到困惑时,原因是他们已经body为内部元素设置了例如背景和内容颜色,并且只有其中一个属性。人们经常假设内部的任何元素都body从 继承颜色body,但这并不一定会在其他样式表参与时发生。这就是 CSS Validator 对这种情况发出警告的原因。这只是一个潜在的问题,不会经常发生,但仍然存在风险。

于 2012-08-17T11:24:34.647 回答