|
今天在网上突然看到CSS中background-image的另类使用,于是雪洁就贴出来让和俺一样没看过的人也看看,嘿嘿。 其实css显示图片分3种,第一种是单纯的显示一个图片;第二种称之为CSS Sprites,也就是说把若干小图片合成一个大图片,然后通过background的postion参数实现效果,第三种就是我们今天说的另类用法,它也有学名称之为Inline images。实现声明一点,这个方法不适用于IE浏览器,恩,没错,IE,我们都遗弃你了。
CSS Sprites是一种把所有的图片都以base64编码以源代码的形式写在CSS文件里,格式是这样的:data:[<mediatype>][;base64],<data>
data:URL标签是在1995年第一次提出,按RFC2397 规范的描述:它是"allows inclusion of small data items as 'immediate' data.(允许在页面中包含一些小的即时数据)"。如一个内嵌的的图片可以这样引用:
body{background-image:url (data:image/gif;base64,R0lGODlhCAAIAJEAAOnp6eTk5O7m8AAAACH5BAEAAAIALAAAAAAIAAgAAAINjAMJh2q6DnxOVsqmLQA7);}这段代码可以在firefox浏览器运行,恩,图片是我取自mg12当前模板的背景图,呵呵(^___^)
base64编码简单的说是,Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。最早使用在 windows系统的电子邮件传输的,主要是附件的传输。在那个时候的黑客们也流行过一段base64编码版的木马和病毒。为了简单篇幅,想了解的看这里。
第一次我也是通过这个方法获取的图片的base64编码,主要原因是网上没有现成的转换这种编码的工具,估计已经被大家所遗忘掉了。图片的代码转换原理也很简单,通过读取图片的文件并把图片储存在一个数组(或字符串)里面,然后使用base64_encode转换即可~ok,讲解完毕。
|
|