雪碧图
2023-04-18 15:39:25 时间
雪碧图
雪碧图的主要作用是减少 HTTP 请求数量。
假如你有 100 张小图片,你要发起 100 个请求。如果你合并成一个大图片,那你只需要发一个请求。
这在 HTTP/1 上是有不错的优化效果的,因为 HTTP/1 下不能充分利用 TCP 带宽,一个 TCP 同时只能有一个请求,请求太多就要排队,导致严重的阻塞。
到了 HTTP/2 因为多路复用特性的缘故,则没有太大必要了,所有的请求都是通过流的方式打散发送的,充分利用 TCP 的带宽。
另一个作用是 提前加载好需要用到的图片。
假设我们的一个按钮是用图片做的,hover 时会替换图片。如果分成独立的两个图片,hover 就会出现闪烁的效果。
这是因为图片还没有下载好,在图片完成下载前,显示的是空白,直到图片下载完成才替换上图片。
如果我们将按钮的所有状态都放到雪碧图了,就不会有这个问题了。当然还有一种方式就是通过 JS 手动做其他状态小图片的缓存。
相关文章
- 《三体》小说全集全文本-刘慈欣著系列科幻小说
- 好上好信息 API 微服务集群在 KubeSphere 的部署实践
- Linux Conda 使用activate无法进入环境,但list中有环境的路径
- 第一章 计算机网络概述
- [编译原理]如何判断某文法的二义性以及找到文法对应的语言
- 力扣——《数据结构·入门篇》刷题笔记
- 汽车ECU软件开发之应用层软件与底层软件
- 接了ChatGPT的NewBing如何评价CodeGeeX
- 月薪过 3w 的 软件测试 员都是怎么做到的?
- metasploit2-practice
- 大顶堆和小顶堆
- 网工应用层:代理(Proxy)和代理模式
- 两款免费且强大的文件恢复工具,拯救你的误删文件!
- (二)浅谈人工智能机器人ChatGPT
- 链表巧用
- CodeArts Snap:辅助你编程的神器
- 给你的Vim加上自动编程功能
- 评价指标:相似度、GAS消耗
- 微机原理与系统设计笔记7 |常用芯片接口技术、中断系统与可编程中断控制器8259A
- 基于jib-maven-plugin快速构建微服务docker镜像