广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >DataURIscheme及其在CSS中的使用方法
  • 743
分享到

DataURIscheme及其在CSS中的使用方法

2024-04-02 19:04:59 743人浏览 泡泡鱼
摘要

本篇文章为大家展示了DataURIscheme及其在CSS中的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。网页优化的一大首要任务是减少Http 请求 (h

本篇文章为大家展示了DataURIscheme及其在CSS中的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

网页优化的一大首要任务是减少Http 请求 (http request) 的次数,例如通过合并多个js文件,合并CSS样式文件。除此之外,还有一个data URL 的密技,让我们直接把图像的内容崁入网页里面,这个密技的官方名称是 data URI scheme 。

什么是 data URI scheme?

假设你有以下的图像:

A

把它在网页上显示出来的标准方法是:

XML/html 

<img src="/file/imgs/upload/202210/19/s0qcnjvscz5.png"/>

这 种取得资料的方法称为 http URI scheme ,同样的效果使用 data URI scheme 可以写成:

XML/HTML 

<img src="data:image/png;base64,iVBORw0KGGoAAAANSUhEUgAAAAQAAAADCaiAAAA   
7ljmRAAAAGElEQVQIW2P4DwcMDAxAfBvMAhEQMYGCACEHG8ELxtbPAAAAAElFTkSuQmCC" />

换句话说我们把图像档案的内容内置在 HTML 档案中,节省了一个 HTTP 请求。

Data URI scheme 的语法

我们来分析一下这句 img 标签的语法:

XML/HTML 

  1. <img src="data:image/png;base64,iVBOR....>  

它包含一下部分:

data - 取得数据的协定名称

image/png - 数据类型名称

base64 - 数据的编码方法

iVBOR.... - 编码后的数据

: , ; - data URI scheme 指定的分隔符号

Base64 编码?

不知道什么是 base64 吗?简单地说它把一些 8-bit 数据翻译成标准 ASCII 字符,往上有很多免费的 base64 编码和解码的工具,你也可以用 PHP 的 base64_encode() 进行编码:

php 

  1. echo base64_encode(file_get_contents('check.png'));  

在 CSS 中使用 data URL

Data URI scheme 也可以在 CSS 中使用,例如:

body { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA
7ljmRAAAAGElEQVQIW2P4DwcMDAxAfBvMAhEQMYgcACEHG8ELxtbPAAAAAElFTkSuQmCC");}
浏 览器会缓存这种图像吗?

不会,Data URL 虽然节省 HTTP 请求,但是倘若这个图像要在网页多个地方显示的话,便会加大网页的内容,延长了下载的时间,其中一个解决办法是在一个 CSS class 中加入 data URL,在需要显示图像的区块调用这个 class,例如:

  1. .logobg {   

  2.   background: url(data:&hellip;)   

  3. }   

  4. <div class=”navigation logobg”>..   

  5. helo, hello   

  6. <div class=”footer logobg”>&hellip;  

又 是 IE 来搞破坏

任何精采的技巧都可能受到 IE 的排挤,这次也有这种情况,IE8 之前的版本都不支援 data URI scheme。

解决这个问题的办法有:使用MHTML 解决 data URI scheme 的浏览器兼容问题

具体做法看代码(肯定是用css hack来实现)

  1.   
        
    #the9{   
      background-image: url("data:image/png;base64/9j/4AA....+b0//2Q==");   
      *background-image: url(mhtml:http://www.zhangjingwei.com/demo/scheme/style.css!the9);   
      width:300px;   
      height:300px;   
      color:#F00;   
      font-weight:900;   
    }

上述内容就是DataURIscheme及其在CSS中的使用方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网node.js频道。

--结束END--

本文标题: DataURIscheme及其在CSS中的使用方法

本文链接: https://www.lsjlt.com/news/81447.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • DataURIscheme及其在CSS中的使用方法
    本篇文章为大家展示了DataURIscheme及其在CSS中的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。网页优化的一大首要任务是减少HTTP 请求 (h...
    99+
    2022-10-19
  • CSS的font-size属性及其em值的使用方法
    这篇文章主要介绍“CSS的font-size属性及其em值的使用方法”,在日常操作中,相信很多人在CSS的font-size属性及其em值的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
  • Python中的字典及其使用方法
    目录一、使用字典1.访问字典中的值2.在字典中添加键值对3.修改字典中的值4.删除字典中的键值对5.由类似对象组成的字典二、遍历字典1.遍历字典中的所有键值对2.遍历字典中的所有键3...
    99+
    2022-11-13
  • Log4j properties的配置及其使用方法
    这篇文章主要讲解了“Log4j properties的配置及其使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Log4j properties的配置及其使用方法”吧!目录一、log4j...
    99+
    2023-06-20
  • css expression的用法及其优缺点介绍
    本篇文章为大家展示了css expression的用法及其优缺点介绍,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 概述   css e...
    99+
    2022-10-19
  • CSS中使用大于号的含义及使用方法
    本篇内容介绍了“CSS中使用大于号的含义及使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:...
    99+
    2022-10-19
  • exec()函数在C++中的应用及其用法
    目录前言exec()execl()execlp()前言 fork 函数之后,如果想要把子进程换成一个我想要执行的进程,这时,就不得不使用 exec()函数了,这也是 fork()的意...
    99+
    2023-05-19
    C++ exec()函数 C++ exec
  • MinIO存储在docker中安装及其使用方式
    目录MinIO存储在docker安装及使用MinIOdocker 安装Miniojava代码操作Docker-compose安装部署MinIO存储服务环境准备启动容器并访问总结Min...
    99+
    2023-05-14
    MinIO存储 docker安装 docker使用
  • ADO.NET连接池的原理及其使用方法
    本篇内容主要讲解“ADO.NET连接池的原理及其使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET连接池的原理及其使用方法”吧!不要关闭数据库中所有的连接,至少保证ADO.NE...
    99+
    2023-06-17
  • c#中task与thread区别及其使用的方法示例
    目录1.什么是thread2.什么是task3.创建一个task任务有两种模式:1.什么是thread 当我们提及多线程的时候会想到thread和threadpool,这都是异步操作...
    99+
    2022-11-13
  • 数组在编程算法中的重要性及其优化方法。
    数组在编程算法中的重要性及其优化方法 数组是计算机编程中最常用的数据结构之一。它是一种线性数据结构,由一系列相同类型的元素组成,并按照一定的顺序排列。数组在编程算法中发挥着重要的作用,本文将探讨数组在编程算法中的重要性以及优化方法。 一、数...
    99+
    2023-11-12
    数组 编程算法 numpy
  • Python中的列表及其操作方法
    目录一、列表简介二、访问列表元素三、修改、添加和删除列表元素1.修改列表元素2.在列表中添加元素3.从列表中删除元素四、对列表元素排序五、确定列表长度六、遍历列表七、创建数值列表1....
    99+
    2022-11-13
  • CSS使用中常见的问题以及解决方法
    这篇文章主要介绍“CSS使用中常见的问题以及解决方法”,在日常操作中,相信很多人在CSS使用中常见的问题以及解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS使用中...
    99+
    2022-10-19
  • ES6 Promise.all的使用方法以及其细节详解
    ES6 Promise.all用法 Promise的all方法提供了并行执行异步操作的能力,并且在所有异步操作执行完后才执行回调。可以将多个 Promise 实例,包装成一个新的 P...
    99+
    2022-11-13
  • 关于css样式被覆盖的问题,及其解决方法
    当你给一个div添加一个class类名的时候,样式未显示的时候 例如: 首先第一步,打开f12标签上查看是否这个类名 此时会出现两种情况 第一种是类名未加上,此时应该查看class是否加错了标签 第二种情况就是,class加上去了,但是样...
    99+
    2023-08-31
    css 前端 html css3 javascript
  • 【总结】PHP中常用查询语句及其使用方法
    在Web开发中,常常需要从数据库中查询数据并以特定格式呈现给用户。PHP语言是一种常用的Web编程语言,也是处理数据库查询的重要工具之一。本文将介绍PHP中常用的查询语句及其使用方法。一、SELECT语句SELECT语句用于从数据库...
    99+
    2023-05-14
    php 数据库
  • 在 React Native 中使用 CSS Modules的配置方法
    目录安装依赖和配置使用示例有些前端工程师希望也能像开发 web 应用那样,使用 CSS Modules 来开发 React Native。本文将介绍如何在 React Native ...
    99+
    2022-11-13
    React Native使用 CSS Modules React  CSS Modules
  • CSS中iconfont的使用方法
    本篇内容介绍了“CSS中iconfont的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!初识ico...
    99+
    2022-10-19
  • J2ME中CSS的使用方法
    这篇文章主要介绍“J2ME中CSS的使用方法”,在日常操作中,相信很多人在J2ME中CSS的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”J2ME中CSS的使用方法”...
    99+
    2022-10-19
  • CSS中calc()的使用方法
    本篇内容介绍了“CSS中calc()的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!calc()是...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作