首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >澄清CSS url()中使用数据-url的有效性

澄清CSS url()中使用数据-url的有效性
EN

Stack Overflow用户
提问于 2020-04-16 10:30:01
回答 1查看 88关注 0票数 3

我正在编写一个预处理组件(用PHP编写),它在某些上下文中用CSS重写外部图像文件请求,例如:

代码语言:javascript
复制
background-image: url('/my-folder/my-image.png');

作为CSS内联的数据URI(),例如:

代码语言:javascript
复制
background-image: url('data:image/png;base64,[Base-64 Encoding Here]');

我刚刚在MDN上读到(带着一些惊喜)

CSS 1中,url()函数表示法只描述真正的URL。在CSS第2级中,扩展了url()的定义以描述任何URI,例如数据-uri。CSS值和单元3级返回到更窄的初始定义。现在,url()只表示真正的<url>s。 资料来源: https://developer.mozilla.org/en-US/docs/Web/CSS/url()

真的?这似乎表明CSS样式表(?)中的数据-URI构成了url()的无效值。

但我什么也找不到:

这能证明这一点。

我的印象是,在CSS样式表中,数据URIurl()的一个完全有效的值。

有人能澄清(最好有权威的参考)吗?

N.B.下面的标签写着w3c-validation -我知道它应该读what-wg-validation__。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-17 08:17:16

data: URI实际上是RFC 2397的有效URL,不要担心,它们仍然是允许的。

不确定这篇MDN文章在说“例如数据-uri”时试图暗示什么,但我确实将其编辑为URN,因为它实际上是CSS 2中发生了什么

规范确实将表示法扩展到所有URI,允许统一资源名称也是它的一部分。我不知道他们为什么要做这种改变,但至少可以说,这似乎很奇怪,因为我看不出一个骨灰盒在样式表中是如何有用的。根据规范的措辞,它的作者似乎还不太清楚它会是什么。

URL(统一资源定位器,请参阅RFC1738和RFC1808)提供网络资源的地址。一种预期的识别资源的新方法称为URN (统一资源名称)。它们一起被称为URI(统一资源标识符,参见URI)。该规范使用了术语URI。

Ps: Specs将其定义为来自取API的“取APIURL”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61248047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档