CSS中使用image data URI来处理图片的方法

   即将图片资源转换为 base64 字符串格式嵌到页面或样式中。这样连图片的请求链接都省了。

  如:

  使用方式

  CSS Code复制内容到剪贴板

  /** 数据格式 **/

  data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAA

lwSFlzAAALEwAACxMBAJqcGAAAAE1JREFUKJHV0MEOwCAIA9DW7MP983pymUaweluv8IAABJFUJdWonqEeD0/IwwHK8

QatsYlGfIhezM9WOc8jSQAoTvMqTzY1u+Z6449gA9r24D4iZ6wwAAAAAElFTkSuQmCC

  /** 样式引用 **/

  .icon{

  width: 30px; height: 30px;

  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAA

lwSFlzAAALEwAACxMBAJqcGAAAAE1JREFUKJHV0MEOwCAIA9DW7MP983pymUaweluv8IAABJFUJdWonqEeD0/IwwHK

8QatsYlGfIhezM9WOc8jSQAoTvMqTzY1u+Z6449gA9r24D4iZ6wwAAAAAElFTkSuQmCC);

  }

  标签语法:

  data : 取得数据协议

  image/png : 取得数据的协议名称(注意这里也图片资源也可以使用字体等)

  base64 : 数据编码方式

  iVBOR... : 编码后数据

  优点

  减少 HTTP 请求

  避免某些文件跨域

  无图片缓存等问题(但是一般 css 也是有缓存的好不好)

  缺点

  兼容性 ( IE6,7 不兼容, 可以使用 MHTML 来解决 )

  浏览器不会缓存该图片(这里是否是这样我存有疑惑,因为好像看上去也是第一次加载的时候慢)

  增加 css 文件大小

  编码成本及维护(展示不直观,目前需手动转换,我暂时不知道自动替换之类的插件)

  之前有看到过篇测评说性能上比 sprite 微弱一些,一时间找不到链接

  综合起来,data URI可以使用在

  * 图片尺寸很小,使用一条 http 请求有点浪费,如渐变背景框

  * 图片在全站大规模使用,且很少被更新的,如 loading

时间: 2024-11-01 05:44:25

CSS中使用image data URI来处理图片的方法的相关文章

css中::before/:before和::after/:after的使用方法

第一部分:基础知识 1.与:active 和 :hover这些伪类不一样,他们都是伪元素. 2.:before/:after伪元素是在css2中提出来的.而::before/::after是在css3中的写法,这样从新提出是为了用两个冒号表示伪元素以区分伪类. 3.它们用在css里某个选择器之后,为了增添装饰性内容的,因为这样可以实现语义化,如果用html来添加一些没有实际内容的节点或者辅助式样本的文本,他们是毫无意义的. 4.它们有特有的属性content,其中添加的内容默认是内联元素. 5.

Css中td表格relative设置失效的解决方法

1.直接在你级table上设置 position:relative;   2.在FF中position:relative要与display:block/inline-block才能生效, display:block/inline-block可以是默认块元素,或是被定义的元素   3.在IE中position:relative除了与display:block/inline-block可以生效外,与display:table-cell.table等都可以

CSS中使用white-space创建竖排文字的简单方法

J E F F R E Y

javascript中Data URI使用详解

Data URI,不是URL URL是uniform resource locator的缩写,在web中的每一个可访问资源都有一个URL地址,例如图片,HTML文件,js文件以及style sheet文件,我们可以通过这个地址去download这个资源. 其实URL是URI的子集,URI是uniform resource identifier的缩写.URI是用于获取资源,包括其附加的信息的一种协议.附加信息可能是地址,也可能不是地址,如果是地址,那么这时URI就变成URL了.注意的是data U

细说 Data URI

Data URL 早在 1995 年就被提出,那个时候有很多个版本的 Data URL Schema 定义陆续出现在 VRML 之中,随后不久,其中的一个版本被提上了议案--将它做个一个嵌入式的资源放置在 HTML 语言之中.从 RFC 文档定稿的时间来看(1998年),它是一个很受欢迎的发明. Data URI 定义的内容可以作为小文件被插入到其他文档之中.URI 是 uniform resource identifier 的缩写,它定义了接受内容的协议以及附带的相关内容,如果附带的相关内容是

Data URI(转)

Data URL 早在 1995 年就被提出,那个时候有很多个版本的 Data URL Schema 定义陆续出现在 VRML 之中,随后不久,其中的一个版本被提上了议案--将它做个一个嵌入式的资源放置在 HTML 语言之中.从 RFC 文档定稿的时间来看(1998年),它是一个很受欢迎的发明. Data URIs 定义的内容可以作为小文件被插入到其他文档之中.URI 是 uniform resource identifier 的缩写,它定义了接受内容的协议以及附带的相关内容,如果附带的相关内容

图片base64编码利器:在线 Data URI 生成工具 – Duri.me

这篇文章介绍一款在线的图片 base64 编码利器 -Duri.me.data URI 图片是 base64编码的图片文件,可以嵌入到 HTML 或者 CSS 文件中,能够减少 HTTP 请求,提高网页加载速速. Duri.me是一个简单但非常有用的 Web 应用程序,可以快速的在线生成图片文件的data URI.Duri.me使用非常简单,把图片拖放到框内,然后点击 Generate Base-64 Code 按钮就会自动生成编码,Duri.me帮你生成了图片.CSS和Base64字符串三种形

PHP file_put_contents()实现批量下载图片文件和css中图片代码

 代码如下 复制代码 set_time_limit(0);//设置PHP超时时间 $imagesURLArray = array_unique($imagesURLArray );   foreach($imagesURLArray as $imagesURL) {     echo $imagesURL;     echo "<br/>";     file_put_contents(basename($imagesURL), file_get_contents($ima

抓取并下载CSS中所有图片文件的php代码_php技巧

这篇文章的亮点是,正则式更加复杂鸟,╮(-_-)╭,再就是 Copy 函数的灰常强大的一个用法. > 话说刚才听 NsYta 说小邪的主题太白了,杯具.最近太忙,没有空,不然就自己搞一个新主题. 一. 抓取 CSS 中的图片: > 1. 首先做好准备工作: > 第一步,先把 CSS 原本的路径存到 $url 变量里,然后把 CSS 的内容保存在 abc.css 中. > 因为考虑到经常碰到多个 CSS 文件的状况,所以小邪没有直接填一个 CSS 路径. > 而是把几个 CSS