我先解释一下各自含义:
data: ----获取数据类型名称
image/gif-----指数据类型名称
base64 -----指编码模式
AAAAA ------指编码以后的结果。
background-image: url(data:image/gifbase64,AAAA)这句话的意思总体就是“获取数据类型是image gif文件,编码采用ASCII 字符,ASCII编码内容是‘AAAA’”
我知道你清楚没。这实际就是一种新写法。原理和以往不同。
以往的图片路径写法是:
background-img:url(../image/xxx.gif)
图片需要加载服务器指定路径下的对应gif文件。
新写法就是:
background-image: url(data:image/gifbase64,AAAA)
图片本身就已经以ASCII的形式存在了文档中,只需要浏览器进行编译就可以了。
新写法将图片写入文档中,可以减少客户端对服务器的请求。
换句话讲,原来我们要加载图片,是从服务器下载。
现在浏览器直接把那一串ASCII按照你的文件类型进行编译就可以出来结果了。
但是也会有问题
ie8貌似不兼容。
具体LZ可以再研究研究