css - 在 CSS 中使用图像文件与数据 URI

标签 css image data-url

我正在尝试确定包含我编写的脚本所需的图像的最佳方式。

我发现了 this site这让我想到尝试使用这种方法将图像包含为 data URI (由 RFC 2397 定义)因为它太小了 - 它是一个 1x1 像素 50% 不透明度的 png 文件(用于背景) - 它最终以 2,792 字节作为图像而作为 CSS 中的文本 3,746 字节。

那么这会被认为是好的做法,还是会不必要地弄乱 CSS?

最佳答案

使用数据 URI 而不是图像是有充分理由的。

Data URI 是 base 64 编码的,这意味着它比图像大 25% 左右。然而,您的 CSS 文件可以被缓存,所以小的尺寸增加可能不是一个大问题。

如果您有很多图像,则在名称解析和将图像作为另一种资源方面进行查找都会产生开销。

所有这一切意味着,如果图像很小,整个 CSS 文件仍然很小,并且 CSS 在经常访问的页面之间共享,那么如果切换到数据 URI,您将获得性能提升。

缺点是它们只适用于 FX、Chrome 等。部分适用于 IE8,但仅适用于小图像。它们在 IE7 或更低版本中根本不起作用。

关于css - 在 CSS 中使用图像文件与数据 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1469604/

相关文章:

svg - 数据 URI ASCII、UTF-8 或 base64

javascript - 如何在 Canvas 中提取图像的一部分并将其用作 div 的背景图像?

javascript - 为什么图像不会立即弹出到我的图像轮播中?

jquery - 悬停时显示正在加载 gif

javascript - 从对象 dataURL 创建文件

html - 在右侧显示图像

html - Twitter Bootstrap 3 - 列 "inside"图像

css - Flex 4 如何给 VBox 设置背景图片?

javascript - 使复选框透明

javascript - 为什么我的 bootstrap css 类对我的 index.html.erb 没有任何影响?