网站首页 > 技术文章 正文
Web前端小白要了解什么?图片优化技巧都有哪些?图片优化是Web前端工程师日常工作的重要组成部分,数据显示,图片内容已经占到了互联网内容总量的62%,想要优化网站性能,图片是绝对的热点和重点。很多Web前端学习小白想知道图片优化有哪些技巧,接下来小编就给大家介绍一下降低图片的大小的有效方式——图片压缩。
目前常见的图片类型有两种:JPEG、JPG、WebP。根据类型的不同,我们需要采用不同的压缩方式。
JPG
JPG适用于呈现色彩丰富的图片,比如打的背景图、轮播图或Banner图,但JPEG图像不支持透明度处理,透明图片需要召唤PNG来呈现。
对于JPEG格式的图片,你可以使用Mozjpeg进行压缩。注意,默认情况下,Mozjpeg生成渐进式JPEG,这会导致图像从低分辨率逐渐加载到高分辨率,直到图片完全加载为止。由于它们的编码方式,它们也比原始的JPEG略小。可以使用Sindre Sorhus提供的这个命令行工具来检查JPEG图像是否是渐进式的。如果你更喜欢使用原始的JPEG,可以在options对象中将progressive设置为false。
PNG
PNG(可移植网络图形格式)是一种无损压缩的高保真的图片格式,主要用来呈现小的 Logo、颜色简单且对比强烈的图片或背景等。PNG具有比 JPG 更强的色彩表现力,对线条的处理更加细腻,对透明度有良好的支持。它弥补了JPG的局限性,唯一的缺点就是体积太大。
对于PNG图片,通常使用pngquant进行图片压缩。pngquant是一个命令行工具和一个用于有损压缩PNG图像的库。转换显着减少文件大小(通常高达70%),并保留完整的alpha透明度。生成的图像与所有网络浏览器和操作系统兼容。
WebP
WebP集多种图片格式的优点于一身,它可以像JPEG一样对细节丰富的图片信手拈来,像PNG一样支持透明,像GIF一样可以显示动态图片。与PNG相比,WebP无损图像的尺寸缩小了26%。在等效的SSIM质量指数下,WebP有损图像比同类JPEG图像小25-34%。
尽管WebP格式的图片具有各种优势,但它不能完全替代JPEG和PNG,因为浏览器对WebP支持并不普遍,比如Firefox、Safari和Edge。但据caniuse.com的数据显示,全球超过70%的用户使用支持WebP的浏览器。这意味着通过使用WebP图像,可以为大约70%的客户提供更快的Web页面及更好的体验。
一旦有了WebP图像,我们可以使用以下标记将它们提供给可以使用它们的浏览器,同时向不兼容WebP的浏览器使用png或者jpeg。
使用此标记,理解image/webp媒体类型的浏览器将下载Webp图片并显示它,而其他浏览器将下载JPEG图片。
每个Web前端网站都有可能引入很多的图片来达到酷炫或者展示的效果,图片越多、请求次数越多,造成延迟的可能性也就越大,因此对图片压缩优化至关重要。如果你进入Web前端行业,可以专业学习一下,让自己更快更好的学习Web前端。
- 上一篇: 「技巧」图片压缩及格式转换 图片压缩改格式
- 下一篇: 不了解前端和后台的区别?看完这张图你就明白啦
猜你喜欢
- 2025-05-28 想高效办公畅饮下午茶?这些显示器你肯定需要
- 2025-05-28 这样优化项目, 让公司的网站直接秒开,老板说给我加奖金
- 2025-05-28 我做了个 AI 神器,模糊图片变清晰,4倍无损放大,极简且好用
- 2025-05-28 「前端纯干货」原来TinyPNG可以这样玩
- 2025-05-28 前端面试-Web Worker:让你的网页不再“卡到崩溃”的秘诀
- 2025-05-28 Tinypng - 比ps更厉害的免费图片压缩神器
- 2025-05-28 深入JavaScript教你内存泄漏如何防范
- 2025-05-28 推荐三款正则可视化工具「JS篇」
- 2025-05-28 从零到一:小程序设计新手如何快速上手?
- 2025-05-28 PHP(gzdeflate/gzinflate)+JS(pako)前后端数据压缩
你 发表评论:
欢迎- 613℃几个Oracle空值处理函数 oracle处理null值的函数
- 604℃Oracle分析函数之Lag和Lead()使用
- 593℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 590℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 584℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 578℃【数据统计分析】详解Oracle分组函数之CUBE
- 567℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 559℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)