未加引号的数据URI在CSS中有效吗?

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

这段代码适用于所有支持数据URI的浏览器(显然不包含ABCDEF)。

另外,根据CSS 2.1规范它是有效的:

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

但验证者不会在没有引号的情况下接受它:

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

如果您使用单引号或双引号将URI包围,它将进行验证。

我错过了什么吗? 它是验证器中的错误吗? 编辑 :这是!


只要URI本身不以任何方式破坏url()语法(例如()必须转义或URI编码以便它们不会过早地结束函数标记,在规范中也提到),它应该即使未加引号也是有效的。

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

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

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

链接地址: http://www.djcxy.com/p/31847.html

上一篇: Are unquoted data URIs valid in CSS?

下一篇: Using relative URL in CSS file, what location is it relative to?