CSS 背景图片的 url 可以使用哪些 Web 协议?

问题描述 投票:0回答:2

我正在构建一个应用程序,需要为背景图像 URL 中的任何字符串

str_replace()
http:
提供
https:
。有谁知道背景图像的 URL 可以使用任何其他协议吗?例如,以下任何内容是否可能,或者有人在 CSS 背景图像 URL 中看到以下任何内容吗?

TCP
UDP
ICMP
POP
FTP
IMAP

举个例子,这对于 CSS 来说可能吗?

#myDiv {    background-image: URL("ftps://mysite.com/pub/myimage.png");    }

感谢您的见解!

css background-image network-protocols
2个回答
2
投票

这是明显合法的语法,遵循 W3C 的 CSS 标准。您可以在那里放置任何合法的 URI,但这取决于浏览器是否有效。

TCP、UDP 和 ICMP 是不同类型的协议,因此它们不起作用,但 ftp、pop 和 imap 理论上可以工作。请参阅此处的语法:https://en.wikipedia.org/wiki/URI_scheme

您还可以用 data URI 替换所有图像,基本上嵌入所有内容。


1
投票

非常有趣的问题。

CSS2 标准似乎没有特别规定任何内容,只要我们有符合 RFC3986 的有效 URI即可CSS1也没有规定。

您的 URI 是否

实际上起作用取决于您的浏览器是否可以访问该 URI(以及您是否拥有适当的权限等)。

我想这是有意为之的,有一个原因:这意味着

CSS规范与传输层无关,这很有道理。

在实践中,例如,您可以

链接到符合 CSS1 的样式表中的 HTTPS 资源,即使 CSS1 早于 HTTPS 的 RFC。

© www.soinside.com 2019 - 2024. All rights reserved.