【问题标题】:CSS3 box-shadow property doesn't validate?CSS3 box-shadow 属性无效?
【发布时间】:2012-02-12 14:07:37
【问题描述】:

当我通过 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 属性的浏览器中完美呈现。

【问题讨论】:

    标签: w3c-validation css


    【解决方案1】:

    它是a known validator bug。显然他们忘记了允许无单位值(尤其是无单位零值)。你的 CSS 没有问题;您使用的值是正确的。

    如果您很挑剔并且无法忍受破坏您本来可以成功验证的错误,您可以简单地将单位添加到您的零值:

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

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

    请注意,截至本次更新,该错误已从 August 30, 2012 开始修复。

    【讨论】:

    • 哇,你是对的!使用所有值的单位,它可以验证。这实际上是一个非常明显的错误,因为这意味着使用 RGBa 颜色的阴影将永远无法验证,因为它们没有单位。
    • @daGUY:rgba()hsla() 颜色会触发验证器的解析错误,但似乎无单位值与它没有任何关系,因为 rgb()hsl() 颜色工作正常。见this bug report
    • 有趣的是,当使用像0px 2px 2px #ccc 这样的单位时,验证器会将声明简化为0 2px 2px #ccc,并附加到验证报告中:)
    • 嗨,为什么没有验证:.corner Property -webkit-border-radius 不存在:4px
    • @Bandpay:因为前缀无效。你真的反对我的回答吗?
    【解决方案2】:

    验证器有很多错误。它是新的,处于测试阶段。

    【讨论】:

      【解决方案3】:

      将其更改为0px 0px 10px #000,它将验证。这可能是因为验证器的 beta 版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多