CSS中的非引用数据URI是否有效?

时间:2013-03-18 15:50:46

标签: css w3c-validation data-uri

#something {
    background: url(data:image/png;base64,ABCDEF);
}

这个代码段可以在所有支持数据URI的浏览器中运行(显然不是ABCDEF)。

此外,它根据the CSS 2.1 spec有效:

  

... 可选单引号(')或双引号(“)字符后跟URI本身......

validator不会在没有引号的情况下接受它:

  

值错误:后台网址(数据:image / png; base64,ABCDEF)是一个不正确的网址

如果用单引号或双引号括起URI,则会验证。

我错过了什么吗?它是验证器中的错误吗? 编辑it was

1 个答案:

答案 0 :(得分:11)

只要URI本身不以任何方式破坏url()语法(例如()必须进行转义或URI编码,以便它们不会过早地结束功能令牌,也在规范中提到),即使没有引用也应该有效。

这可能是验证错误。具体来说,它似乎不会以任何形式处理不带引号的数据URI,因为当我只是将data更改为http时(即使它显然不像典型的HTTP地址):

#something {
    background: url(http:image/png;base64,ABCDEF);
}

......然后神奇地通过验证。