在CSS中,您可以在base64中编码图像?

在CSS中,您可以在base64中编码图像?,css,Css,我在查看CSS代码时遇到了这个问题: background-image:url(data:image/png;base64,LKJSDLKJFSLDJFKDJFLJS......) 看起来实际的图像已经被编码,这是一个小部件,它位于一个网站上,因此它看起来是为了提高效率,所以它不必向web服务器发出请求 这个跨浏览器安全吗? 这对我来说是新闻 是的,但是IE8的URL必须低于32k。是的,您可以这样做: 不,您可能不想: 所有主要浏览器都支持它,是的。但是,IE7及以下版本不支持它,IE8需

我在查看CSS代码时遇到了这个问题:

background-image:url(data:image/png;base64,LKJSDLKJFSLDJFKDJFLJS......)
看起来实际的图像已经被编码,这是一个小部件,它位于一个网站上,因此它看起来是为了提高效率,所以它不必向web服务器发出请求

这个跨浏览器安全吗?
这对我来说是新闻

是的,但是IE8的URL必须低于32k。

是的,您可以这样做:

不,您可能不想:

所有主要浏览器都支持它,是的。但是,IE7及以下版本不支持它,IE8需要它小于32K(这应该不是问题)。IE9没有这个限制


对于使用MHTML的IE6/7,也有一些骇人的方法

Turbine(用于PHP)将自动将小于25kb的图像转换为数据URI或MHTML


请参见

有趣的内容…我希望浏览器能够处理溢出情况,否则黑客可能会利用此漏洞进行攻击。更清楚的是,CSS部分正在背景图像中加载URL。事实上,一些浏览器支持数据URL,这使得这成为可能。很酷的东西!我从来不知道那件事。感谢sharing,为了更清晰,它正在将图像文件本身(用base64编码)加载到背景值的“url”部分。实际上没有使用传统的URL或URI。