【发布时间】:2016-05-12 18:32:42
【问题描述】:
3.4. Resource Locators: the <url> type 描述了<url-modifier> 在
URL 是指向资源的指针,是一种功能符号 由
<url>表示。<url>的语法是:
<url> = url( <string> <url-modifier>* )除了上面定义的语法,a 有时可以是 其他写法:
由于遗留原因,
<url>可以写成不带引号的 URL 本身。此语法经过特殊解析,并且 在语法上生成<url-token>而不是函数。 [CSS3SYN]某些 CSS 上下文(例如
@import)允许将<url>改为由<string>表示。这与 编写一个包含该字符串的url()函数。因为这些 编写<url>的替代方法不是功能符号,它们 不能接受任何<url-modifier>s。注意:遗留引号的特殊解析规则
<url>语法表示括号、空白字符、单 出现在 URL 中的引号 (') 和双引号 (") 必须进行转义 带有反斜杠,例如url(open\(parens),url(close\)parens)。 根据 URL 的类型,也可以编写这些 URL 转义字符(例如url(open%28parens)或url(close%29parens)) 如 [URL] 中所述。 (如果写成 包含字符串的普通函数,普通字符串转义规则 申请;只有换行符和用于引用字符串的字符需要 被逃脱。)
在
url()函数支持指定额外的<url-modifier>s, 这会以某种方式改变 URL 的含义或解释。一个<url-modifier>是<ident>或 function。本规范没有定义任何
<url-modifier>s,但其他 规格可能会这样做。
另见CSS Values and Units Module Level 3 Editor’s Draft, 21 March 2016
<ident>和functionurl()的示例用法是什么?<string>、<ident>、functionurl()之间有什么区别?
【问题讨论】:
-
除了引用中已经给出的内容之外,无法回答这个问题,因为在任何规范中都没有已知的
定义。如果您正在寻找虚构的例子,那么这个问题是题外话。 -
@BoltClock 规范定义可以在
url()使用<url-modifier>。问题是问这个可用的特性是如何实现的,或者是如何实现的?如果该功能已在野外使用,那又如何呢?问题的第二部分是<string>、<ident>url()函数之间是否存在差异?不确定这将如何被视为“离题”?如何确定没有浏览器或个人用户在不询问的情况下实现了该功能? -
抛开仅仅因为它在规范中定义就意味着实现必须存在于野外的假设,这个问题太宽泛了。即使您要求现有的 impl,您仍然要求一个列表,该列表可能会随着新定义和新 impl 的出现而改变(这不包括非标准 impl,因为从技术上讲,现在每个 impl 都将是非标准的) .第二个问题可以部分且相当容易地回答 - 规范本身说修饰符只能是 ident 或函数,因此
必须代表 URL 本身。 -
@BoltClock 这个问题stackoverflow.com/questions/36072936/… 与如果可以实现
<url-modifier>的程度有关,我们是否可以使用该功能在url()处显示.html文档content函数@?试图找到一个程序来解释和预处理.html文档,使其可以在不将文档转换为图像或嵌入svg的情况下呈现。 -
url("/foo" bar)和url("/foo" bar(3)),我想。由于还没有实现,这个问题没有实际意义。
标签: css