webp图片在html上显示,WebP 格式图片在实际项目中的使用方式

2023-11-01

bVcLw3x

一、前言

关于 WebP 的支持情况,以及适用场景此处不做详细说明,具体见官方文档。

先说结论,目前 WebP 支持情况占比较大(数据如下),在适合的场景下可以使用 WebP 格式图片来提高页面加载速度。支持的浏览器占比达到近90%(数据来源:Can I Use)

安卓系统下大部分浏览器已支持,而安卓系统在国内移动端系统中占比达80%(数据来源:statcounter)

目前使页面支持 WebP 格式图片有两种方式:前端开发过程生成对应格式图片并编写 WebP 相关代码(本文介绍)

服务器端支持生成 WebP 格式图片,前端编写相关加载代码(这部分未深入研究)

二、压缩效果

设置压缩质量为81时,可以在尺寸和质量两者间取得较好的平衡。(测试结果与图片类型以及色彩丰富度有关,具体的压缩质量可以根据实际情况自行调整)

三、在开发中如何使用?

1. html

标签会根据浏览器支持情况加载对应资源。

demo.png

2. css

通过 js 检测当前浏览器是否支持 WebP 格式的图片(细节见下文 js 代码),在 html 标签上动态添加类名 webp,根据浏览器支持情况加载不同格式的图片。.box {

width: 5.73rem;

height: 6.57rem;

background-image: url(../image

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webp图片在html上显示,WebP 格式图片在实际项目中的使用方式 的相关文章

  • Polycarp and Div 3【Codeforces Round #496 (Div. 3)【D题】】【贪心】

    应该说是今天凌晨的吧 第一次打Code Forces 懵懵懂懂的 不过感觉还是良好 做了几道签到题 难题还是没有那个水准去做 Polycarp likes numbers that are divisible by 3 He has a h
  • 应用统计学与R语言实现笔记(番外篇四)——bookdown使用与OR值计算

    本期是之前做的应用统计学与R语言实现笔记的番外篇四 本期主要关注两个问题 一个是重新利用R的bookdown包创建新的电子书 另一个是计算公共卫生当中一个比较常见的指标OR值 文章目录 1 bookdown使用 2 公式更正 3 OR值计算
  • linux下网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力 个人感觉要比Apache自带的ab压力测试工具好 安装使用也特别方便 1 适用系统 Linux 2 编译安装 引用wget http blog s135 com soft li
  • Sentinel 入门使用

    目录 一 Sentinel简介 1 1Sentinel简介 1 2 Sentinel与Hystrix的区别 1 3 名词解释 二 sentinel控制台 2 1 下载启动控制台 2 3 客户端接入控制台 2 4 Rest整合Sentinel
  • python基本概念-关键要素

    1 要素1 数据类型 Python提供了几种内置的数据类型 现在我们只关注其中两种 Python使用int类型表示整数 正整数或负整数 使用str类型表示字符串 Unicode字符序列 如果需要将一个数据项从某种类型转换为另一种类型 可以使
  • DB2数据库连接(jdbc连接)encoding not supported

    在进行db2数据库连接过程中发现了一些问题 报如下错误 com ibm db2 jcc b DisconnectException encoding not supported 该问题的出现是IBM JDK和sun JDK之间相互不支持 解
  • 【滤波器】7. 带通滤波器

    将低通滤波器和高通滤波器串联 如下图所示 就可得到带通滤波器 设低通滤波器的截止频率为 f p 1 f p1 fp1 高通滤波器的截止频率为
  • Spark 的Shuffle过程详解

    一 Shuffle的作用是什么 Shuffle的中文解释为 洗牌操作 可以理解成将集群中所有节点上的数据进行重新整合分类的过程 其思想来源于hadoop的mapReduce Shuffle是连接map阶段和reduce阶段的桥梁 由于分布式
  • if与if else与if else if else之间的用法与区别(C++)

    1 if 满足这个条件 执行语句操作 不满足条件 不操作 结构 if 条件 语句 2 if else 满足这个条件 执行语句1操作 不满足 执行语句2操作 结构 if 条件 语句1 else 语句2 备注 通俗说就是两者取其一 注意 if
  • 简单方法恢复linux以及windows启动引导

    1 恢复linux启动引导 以ubuntu为例 很多小孩喜欢用wubi装linux 确实这种方法比较简单 比较安全 但是这种安装方法是基于windows的 也就是说 如果windows挂了 比如重装了或还原了 那么原来安装的linux也就没
  • cvFindContours函数使用

    CV IMPL intcvFindContours void img CvMemStorage storage CvSeq firstContour int cntHeaderSize int mode int method CvPoint
  • Servlet 实现重定向几种方法

    servlet重定向 在servlet JSP编程中 服务器端重定向可以通过下面两个方法来实现 1 运用javax servlet RequestDispatcher接口的forward方法 2 或者运用javax servlet http
  • 基于FPGA的串口通讯设计与实现

    繁體 基于FPGA的串口通讯设计与实现 日期 2012 03 26 来源 作者 字体 大 中 小 随着多微机系统的应用和微机网络的发展 通信功能越来起重要 串行通信是在一根传输线上一位一位传送信息 这根线既作数据线又作联络线 串行通信作为一
  • uniapp实现支付功能 和 可视化拖拽工具

    1 支付功能 https blog csdn net weixin 37787674 article details 103012041 2 分享一个 uniapp uview ui 可视化 完全自由拖拽 一键生成flex代码网站 http
  • 你必须知道的495个C语言问题整理三

    1 为什么大家都说不要使用gets 跟fgets 不同 gets 不能被告知输入缓冲区的大小 因此不能避免缓冲区的溢出 标准库的fgets 函数对gets 作了很大的改进 尽管它仍然不完善 2 fgetops fsetops 和ftell
  • python入门笔记——函数①

    python入门笔记 函数 def function 定义一个名为function的函数 定义函数时用下面来解释该函数的用处 这个函数是用来重复输出4次 你好 的 return for i in range 1 5 print 你好 pas
  • SSL、TLS、HTTPS的关系

    SSL TLS HTTPS的关系 SSL Secure Sockets Layer 安全套接字协议 TLS Transport Layer Security 传输层安全性协议 TLS是SSL的升级版 两者几乎是一样的 HTTPS Hyper
  • Java 多线程 -- 从入门到精通

    持续更新中 欢迎收藏 关注 以便查看后续 Java 多线程 从入门到精通 Java线程与线程的区别 多线程的实现方法 Thread中start和run方法的区别 Thread和Runnable的关系 使用Callable和Future创建线
  • 神经网络的三种可视化方法——使用keras和MXNet(gluon)实现

    神经网络的三种可视化方法 用keras和MXNet gluon 实现 目录 神经网络的三种可视化方法 用keras和MXNet gluon 实现 概述 keras实现 keras特征图可视化 keras可视化滤波器 卷积核 的最大响应图 k

随机推荐

  • 清除内存/缓存

    1 查看缓存 free h 2 清理缓存 sync echo 3 gt proc sys vm drop caches 我们在清理缓存前应该先sync下 因为系统在操作的过程当中 会把你的操作到的文件资料先保存到buffer中去 因为怕你在
  • 刷脸支付产业也迎来新的跃升时刻

    2019年刷脸支付异常火爆 一种创投人青睐有加 纷纷入局 一项新事物从诞生到发展总要经历很多波折 对于刷脸支付行业来说 更是如此 2020年初新冠疫情肆虐 人们被围在城里 圈在村里 各类实体门店到店率急剧下降 刷脸支付一度遇冷 而在疫情期间
  • C++星罗万象时钟罗盘

    编写思路 该程序的难点在于字符串的书写角度 理解了这个就已经理解了这个程序的核心内容 需要注意的地方是这个程序的每一圈代表一个 for 循环 我开始写的时候认为一个 for 循环嵌套一个 for 循环 但是后面我发现 for 循环嵌套的太多
  • vue-chat项目之重构与体验优化

    前言 vue chat 也就是我的几个月之前写的一个基于vue的实时聊天项目 到目前为止已经快满400star了 注册量也已经超过了1700 消息量达2000 由于一直在实习 没有时间对它频繁地更新 趁着这个国庆 对他进行了一次重构 希望我
  • 国内研发!适用于安卓应用程序的 Word文档功能开发组件来啦!

    你是否在寻找一款工具能够在Android应用程序中的Word文档管理的开发工具 那么 好消息来啦 Spire系列文档开发组件又添新成员 专门用于在 Android 手机应用程序中创建 读取 操作和转换 Word 文档 Spire Doc f
  • Flutter移动应用开发 - 商品界面

    目录 0 项目简介 1 效果展示 2 代码 commodity dart CardTry dart recentPurchase dart 0 项目简介 项目想法脱胎于2023年服务外包大赛A18题 随手买 详情 整个APP思路如下 这篇博
  • QDockWidget设置初始大小的一个解决方案

    QDockWidget仅仅作为其子控件的一个包装 因此对其使用resize 或者setGeometry 均不管用 这造成QDockWidget的初始大小常常不尽如人意 网上有前辈提出通过调用QDockWidget的setMaximumSiz
  • ElementUI浅尝辄止34:Radio 单选框

    在一组备选项中进行单选 1 如何使用 由于选项默认可见 不宜过多 若选项过多 建议使用 Select 选择器 要使用 Radio 组件 只需要设置v model绑定变量 选中意味着变量的值为相应 Radio label属性的值 label可
  • 工业设备自动化平台的一些杂想

    今天是愚人节 浦西开始正式封闭 所有人都被关在家里足不出户 等待着不知道何时开始的核酸检测 一时间也不知道能做些啥 闲的发慌 总得找点事情做做 翻了会CLR的书 又背了会单词 总感觉心不静 回想起之前被人问过的工业设备自动化平台的问题 突然
  • 非递归实现二叉树遍历(附c++完整代码)

    先序 中序和后序遍历过程 遍历过程中经过结点的路线一样 只是访问各结点的时机不同 从图中可以看到 前序遍历在第一次遇见元素时输出 中序遍历在第二次遇见元素时输出 后序遍历在第三次遇见元素时输出 非递归算法实现的基本思路 使用堆栈 一 前序遍
  • 【Android Studio】android.database.sqlite.SQLiteException: no such table: XXX (code 1 SQLITE_ERROR)

    问题描述 android database sqlite SQLiteException no such table XXX code 1 SQLITE ERROR while compling select from xxxx 参考了各种
  • 字符替换C++

    题目描述 把一个字符串中特定的字符全部用给定的字符替换 得到一个新的字符串 输入 只有一行 由一个字符串和两个字符组成 中间用单个空格隔开 字符串是待替换的字符串 字符串长度小于等于1000个字符 且不含空格等空白符 接下来一个字符为需要被
  • FileReader读取文件

    前言 FileReader是一种异步文件读取机制 结合input file可以很方便的读取本地文件 input file 在介绍FileReader之前 先简单介绍input的file类型
  • doxygen教程-6-把注释放在其他位置

    文章目录 把注释放到成员之后 注释在头文件和源文件的分布 Structural commands 把注释放到 几乎 任意位置 只有先注释高层级的结构 才会显示低层级的注释 把注释放到成员之后 这里出现了新词 成员 member 在官方手册里
  • ubuntu18.04更新clang的版本

    可选 添加bionic相关的源 1 备份 etc apt sources list 2 添加源到sources list文件最后 sudo vim etc apt sources list deb http archive ubuntu c
  • 模型结构可视化神器——Netron(支持tf, caffe, keras,mxnet等多种框架)

    转自 https blog csdn net leviopku article details 81980249 很多时候 复现人家工程的时候 需要了解人家的网络结构 但不同框架之间可视化网络层方法不一样 这样给研究人员造成了很大的困扰 前
  • 【华为OD机试真题2023 JS】几何平均值最大子数组

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 几何平均值最大子数组 知识点数组二分查找 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 从一个长度为N的正数数组numbers中找出长度至少为L且几何平均值最大
  • Kubernetes1.91(K8s)安装部署过程(四)--Master节点安装

    再次明确下架构 三台虚拟机 centos 7 4系统 docker为17版本 ip为10 10 90 105到107 其中105位master 接下来的master相关组件安装到此机器上 etcd集群为3台 分别复用这3台虚拟机 作为k8s
  • Docker安装(使用阿里云镜像)

    Docker安装 使用阿里云镜像 Docker从1 13版本之后采用时间线的方式作为版本号 分为社区版CE和企业版EE 社区版是免费提供给个人开发者和小型团体使用的 企业版会提供额外的收费服务 比如经过官方测试认证过的基础设施 容器 插件等
  • webp图片在html上显示,WebP 格式图片在实际项目中的使用方式

    一 前言 关于 WebP 的支持情况 以及适用场景此处不做详细说明 具体见官方文档 先说结论 目前 WebP 支持情况占比较大 数据如下 在适合的场景下可以使用 WebP 格式图片来提高页面加载速度 支持的浏览器占比达到近90 数据来源 C