CSS3的盒子阴影属性无法验证?

7
当我通过W3C的验证器运行我的CSS时,每当我使用box-shadow属性时,都会出现以下错误:

0不是box-shadow值:0 0 10px #000

它似乎停在第一个值上,因为改变值的顺序会导致错误匹配:

#000不是box-shadow值:#000 0 0 10px

我正在使用设置为CSS3的配置文件进行验证,所以这不是我忘记从CSS2更改默认配置文件设置(其中box-shadow属性不存在)的情况。
为什么它认为我使用的任何值都不正确?阴影在Firefox和任何支持非前缀box-shadow属性的其他浏览器中都可以完美地呈现。
3个回答

11

这是已知的验证器错误。 显然,它们忘记了允许无单位值(特别是无单位零值)。 你的CSS没有问题; 你使用的值是正确的。

如果您很挑剔,并且无法容忍错误影响您原本将成功验证的内容,您可以简单地向零值添加单位:

box-shadow: 0px 0px 10px #000;

但是每当我遇到这种情况时,通常我不会烦恼,因为我知道这只是一个无害的验证器错误,而不是我的CSS有问题。

请注意,截至此次更新,该错误已自2012年8月30日起已修复。


哇,你说得对!所有值都带有单位,它就能验证。这实际上是一个非常明显的错误,因为它意味着使用RGBa颜色的阴影永远不会被验证,因为它们没有单位。 - daGUY
@daGUY:rgba()hsla()颜色会触发验证器的解析错误,但似乎无单位值与此无关,因为rgb()hsl()颜色可以正常工作。请参见此错误报告 - BoltClock
有趣的是,当使用像 0px 2px 2px #ccc 这样的单位时,验证器会将语句简化为 0 2px 2px #ccc 并附加到验证报告中 :) - Richard Kiefer
你好,为什么这个没有通过验证: .corner 属性 -webkit-border-radius 不存在:4px - Babak Bandpay
@Bandpay:因为前缀无效。你真的因为这个给我的回答点了踩吗? - BoltClock

3
将其更改为0px 0px 10px #000,它将会通过验证。这可能是由于验证器的beta版本导致的。

2

这个验证器有很多漏洞。它是新的并且处于测试阶段。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接