为什么要用CSS编码图像?

为什么要用CSS编码图像?,css,base64,background-image,data-uri,Css,Base64,Background Image,Data Uri,可能重复: 我刚刚在我的Google Chrome主页上浏览了源代码,注意到图像是用CSS编码的base64。这有什么好处?我想这只是为了减少http请求,但因为它是一个本地应用程序,所以无论如何都不重要,对吧?它可以在本地加载图像吗 menu > [checked]:before { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAARklEQVQYlWNgwA+M

可能重复:

我刚刚在我的Google Chrome主页上浏览了源代码,注意到图像是用CSS编码的base64。这有什么好处?我想这只是为了减少http请求,但因为它是一个本地应用程序,所以无论如何都不重要,对吧?它可以在本地加载图像吗

menu > [checked]:before {
  content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAARklEQVQYlWNgwA+MgViQkIJ3QKzEAFVpjEPBf5giJaiAMRYF72DWKSEJlKMpgNsgiCTxH5sCbG7AqgBZ4V2sCv7//08QAwAUfjKKBs+BFgAAAABJRU5ErkJggg==");
  display: inline-block;
  height: 9px;
  margin: 0 5px;
  vertical-align: 50%;
  width: 9px;
}
据我所知,它的唯一优点是保存HTTP请求(因为所有内容都作为一个加载,而不是获取图像)


为什么会出现在google chrome登录页上……好吧,google确实喜欢在所有事情上炫耀和使用最新的技术。

我认为Kirean是对的,但要详细说明具体的问题标题

二进制图像数据在数据Uri中进行base64编码,因此可以放在文本文件中。如果二进制数据不是base64编码的,它将类似于:

?PNG

IHDR           ??FIDAT?c`???X???w@??Ui?C??"%??1?`?)!    ??)?? ?$??ln??Y?]?
???O~2?ρIEND?B`?
它可能包含像
这样的字符,css解析器可能会阻塞它

当它是base64编码时,它将只包括如下字符:

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+,=

不知道他们为什么选择这样做,也许他们不想管理额外的图像文件。

这就是为什么他们仍然使用表格布局的原因吗?谷歌只是想要它fast@albert,它不仅速度快。
菜单>[选中]:before
不是一个快速的选择器。而且,对于本地应用程序来说,这些都是毫微秒并不重要。Google Chrome团队中充满了喜欢试验和游戏的Web开发人员。:)这可能就是原因