1

使用W3 CSS 验证器时出现此错误

值错误:背景线性渐变(顶部,#fefefe,#dddddd)不是背景颜色值:线性渐变(顶部,#fefefe,#dddddd)

对于这一行:

  background:  linear-gradient(top, #fefefe, #dddddd);

也:

  background:  -webkit-linear-gradient(top, #fefefe, #dddddd);

和其他线当我尝试使用渐变。

渐变有效,但我是否使用了错误的语法?

4

6 回答 6

5

CSS3 尚未最终确定,这意味着验证器可能不会针对 CSS3 的最新工作草案进行验证。此外,验证器可能不会验证供应商特定的 css,例如 -moz-* 或 -webkit-*

有关使用线性渐变的规范,请参阅w3 的最新草案

顺便说一句,我相信您的代码中的“顶部”应该是“顶部”作为渐变的方向。草案中的示例 12:

以下是指定基本垂直渐变的各种方法:

linear-gradient(yellow, blue);
linear-gradient(to bottom, yellow, blue);
linear-gradient(180deg, yellow, blue);
linear-gradient(to top, blue, yellow);
linear-gradient(to bottom, yellow 0%, blue 100%);
于 2012-09-21T20:24:06.080 回答
1

尝试以下生成器:

http://www.colorzilla.com/gradient-editor/

这将为您提供所有浏览器的正确语法。

于 2012-09-21T20:24:35.017 回答
1

w3c 的验证器使用 w3c 的建议。linear-gradient尚未成为 w3c 的推荐,因此在技术上它不是“有效的”。其他浏览器供应商已经着手实施工作草案中指定的内容(希望从现在到 w3c 最终确定规范时它不会有太大变化)。这就是为什么您需要供应商前缀才能使其工作。

于 2012-09-21T20:31:40.423 回答
1

只要梯度不是最终规范的一部分,w3c 验证器就会为此抛出错误。不要依赖于草稿状态下的“实验”功能的验证器。

所以,你的语法很好,但要注意浏览器中的不同实现。

于 2012-09-21T20:32:08.470 回答
1

你在验证器上选择什么版本的 CSS?是否设置为 CSS3?我知道验证器会抛出奇怪的错误,而实际上我的代码没有任何问题。

于 2012-09-21T20:13:57.560 回答
0

值错误:宽度解析错误 - 90px)

宽度:计算(100% - 90px);宽度:-moz-calc(100% - 90px); 宽度:-webkit-calc(100% - 90px);

于 2015-03-13T20:31:06.377 回答