[html] webp与jpg、png比较,它有什么优劣势?如何选择?

[html] webp与jpg、png比较,它有什么优劣势?如何选择?

优势更优的图像数据压缩算法 带来更小的图片体积肉眼识别无差异的图片质量支持有损和无损压缩支持动画 透明色彩丰富 24-bit颜色数劣势存在兼容性问题选择​ 当 图片较少 体积不大 且存在兼容性问题时,兼容性方法处理起来较为复杂 可以选择传统格式​ 当图片较多 且不存在兼容性问题或者兼容性方法处理起来较为简单时 便使用webp格式
兼容性处理
1.通过picture标签进行选择判断<picture><source srcset="img/pic.webp" type="image/webp"><source srcset="img/pic.jpg" type="image/jpeg"><img src="img/pic.jpg">
</picture>该种方法要求在每个要请求webp图片的标签下都要通过picture标签来进行兼容性处理,
同时注意该标签在IE的兼容性并不是很好,不过已经比webp的兼容性好一些。
2.通过服务端判断请求头中的Accept的值判断是否支持webp通过HTTP request header中是否存在Accept: image/webp来判断,
这种方法的缺点在于:很多时候我们的图片等静态资源都会放到CDN服务器上,在这个层面加上判断webp的逻辑会更麻烦一些
3.由浏览器端判断是否支持WebP格式if(document.createElement('canvas').toDataURL('image/webp').indexOf('data:image/webp') == 0){//  该浏览器支持WebP格式的图片}该种方法的原理为:HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。1.如果画布的高度或宽度是0,那么会返回字符串“data:,”。2.如果传入的类型非“image/png”,但是返回的值以“data:image/png”开头,说明该传入的类型是不支持的。3.Chrome支持“image/webp”类型。

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Alt Gr or Shift

This is interesting. The keyboard here is different from what we always use in China. Characters and layout are different. Hans gave me the password to logon the system. There s a “” character in it. With Chinese keyboard, I will use “Shift 2″ to gener…

Vue之前端页面使用json编辑框

转自: https://blog.csdn.net/Wjhsmart/article/details/85757045 转载于:https://www.cnblogs.com/jiushixihuandaqingtian/p/11310713.html

[html] html5的video如何附带字幕?

[html] html5的video如何附带字幕&#xff1f; <video controls width"400" height"300"> <source src"../hangge.mp4" type"video/mp4"> <track src"hangge.vtt" srclang"zh" kind"subtitl…

window.addeventlistener 不能调用方法_Java入门第十四课:如何定义”方法“

第十四课&#xff0c;学习定义方法。一个对象包含三种最常见的成员&#xff1a;构造器、Field和方法。Field用于定义状态数据&#xff0c;而方法是行为特征的抽象。那么什么是方法呢&#xff1f;在Java中&#xff0c;方法就是用来完成解决某件事情或实现某个功能的办法。方法实…

remmina连接xfce桌面的centos7

vnc无法连到linux server&#xff0c;但ssh可以的解决方法 原文引自&#xff1a;https://blog.csdn.net/h00ahaha/article/details/84440449 今天用vnc连远程服务器&#xff0c;一直给我提示Failed to connect to server.记录下解决该问题的步骤&#xff1a;1 确认ssh能登录&am…

[html] 你有使用过html5的rt标签吗?它有什么应用场景?

[html] 你有使用过html5的rt标签吗&#xff1f;它有什么应用场景&#xff1f; <ruby>汉 <rt>Hn</rt>字 <rt>Z</rt> </ruby>个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大…

深度测试与alpha混合(3)

alpha源混合系数通常设置为D3DBLEND_SRCALPHA&#xff0c;即当前绘制像素的alpha值。目标混合系数设置为D3DBLEND_INVSRCALPHA&#xff0c;即1减去当前绘制像素的alpha值。那么当前绘制像素的alpha值又是如何得到的呢&#xff1f;如果没有使用材质和纹理&#xff0c;当前绘制像…

python开发商城实战_python框架Django实战商城项目之工程搭建

项目说明该电商项目类似于京东商城&#xff0c;主要模块有验证、用户、第三方登录、首页广告、商品、购物车、订单、支付以及后台管理系统。项目开发模式采用前后端不分离的模式&#xff0c;为了提高搜索引擎排名&#xff0c;页面整体刷新采用jinja2模板引擎实现&#xff0c;局…

算法之排序算法-shell排序(移位法)

个人觉得移位法就是借希尔排序进行分组,插入排序进行排序 注释是上一篇的交换法. 而且这种移位排序的真的很快 package com.ebiz.sort;import java.text.SimpleDateFormat; import java.util.Date;/*** author YHj* create 2019-07-30 8:53* shell排序-交换法*/ public class S…

[html] 页面布局时你使用最多的标签是什么?div吗?在什么情况下会使用到div?

[html] 页面布局时你使用最多的标签是什么&#xff1f;div吗&#xff1f;在什么情况下会使用到div&#xff1f; 页面的的整体布局使用<header> <main> <aside> <footer> 等。 一些细分的布局使用<div>&#xff0c;并指定适当的class、role和ari…

Effulgent的《深入理解Direct3D9》整理版(转)

深入理解Direct3D9 深入理解D3D9对图形程序员来说意义重大&#xff0c;我把以前的一些学习笔记都汇总起来&#xff0c;希望对朋友们有些所帮助&#xff0c;因为是零散笔记&#xff0c;思路很杂&#xff0c;还请包涵。 其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DE…

我的世界光影mod怎么用_玩转光影!闪光灯、反光板怎么用才高级?

光线对于拍摄的重要性不言而喻&#xff0c;有人甚至说&#xff1a;掌握了光线&#xff0c;你就掌握了摄影。今天我们就来谈谈摄影中和“光”关系最密切的两个器材&#xff1a;闪光灯、反光板。闪光灯的种类之前也跟大家介绍过闪光灯的种类&#xff0c;如果只说较为常用的&#…

https证书pfx 生成 pem,crt,key

(1)将.pfx格式的证书转换为.pem文件格式:openssl pkcs12 -in xxx.pfx -nodes -out server.pem(2)从.pem文件中导出私钥server.key&#xff1a;openssl rsa -in server.pem -out server.key(3)从.pem文件中导出证书server.crt openssl x509 -in server.pem -out server.crt转载…

sklearn所需要的知识点

NumPy NumPy&#xff08;Numerical Python的简称&#xff09;是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵&#xff0c;比Python自身的嵌套列表&#xff08;nested list structure&#xff09;结构要高效的多&#xff08;该结构也可以用来表示矩阵&am…

[html] 如何在网页中嵌入公司地址的地图?

[html] 如何在网页中嵌入公司地址的地图&#xff1f; <script srchttp://api.map.baidu.com/api?v2.0&akBG9Wtw7egUbIQHPjG9ayOLQO> </script> <script> (function(){ var map new BMap.Map("container"); //设置底图 map.centerAndZoom(&q…

sql游标以及异常处理

DECLARE emsgoutid UNIQUEIDENTIFIER ;DECLARE sendtime VARCHAR(20) ;DECLARE temptime DATETIME ;DECLARE sms_cursor CURSOR FORSELECT emsgoutid FROM dbo.emsg_out-- 打开游标OPEN sms_cursorFETCH NEXT FROM sms_cursorINTO emsgoutidWHILE FETCH_STATUS 0 BEGIN--tryBE…

正弦定理和余弦定理_那些让你加快解题速度的高中数学公式-26 利用三正弦、三余弦定理快速解题...

作者&#xff1a;本质教育 韦卓甫简单的题目做得又快又对对于任何考试&#xff08;例如高考&#xff09;&#xff0c;本质教育有一条重要的原则&#xff1a;那些考试拿高分的&#xff0c;一定是简单的题目做得又快又对&#xff0c;这样他们才有时间去思考难题。因此&#xff0c…

[html] 如何扩大CheckBox点击区域

[html] 如何扩大CheckBox点击区域 用 label 包裹&#xff0c;扩大 label 尺寸个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

Centos7静态ip设置(亲测有效)

本文引自&#xff1a;https://www.cnblogs.com/toov5/p/10340395.html&#xff0c;特此鸣谢 最近想测试消息中间件等各类web集群相关技术&#xff0c;这就需要解决linux主机之间互联互通的若干问题&#xff0c;特此折腾 友情提示&#xff1a;在ubuntu19上用vmware15 搭建centos…

C++之整理一些最近看书的收获

1 short 只能修饰 int 。 2 long 只能修饰 int 和 double &#xff08;以及 long &#xff0c;比如 long long a ; 是 long long int a; 的简写&#xff09; 。 3 char 和 int 型数可以分别用 unsigned 和 signed 来修饰&#xff0c;表示带符号和不带符号。 4 实型数&#…