图像精灵

Discuss smarter ways to manage and optimize cv data.
Post Reply
Fgjklf
Posts: 290
Joined: Mon Dec 23, 2024 7:15 pm

图像精灵

Post by Fgjklf »

精灵表是包含多个较小图像或图标的单个图像。它用于减少在网页上渲染大量小图像时的 HTTP 请求数量。当加载单个精灵表时,可以通过 CSS 调整位置来显示特定的图像。

假设您正在构建一个社交网络应用程序,并且想要显示各种操作图标,例如喜欢帖子、评论和分享。每个图标都是一个小图像,通常用于应用程序的不同部分。

没有图像精灵:
按照传统方法,您会将每个图标作为单独的图像文件包含在 HTML 或 CSS 中,如下所示:


使用图像精灵:
通过使用图像精灵,您可以将所有这些图标组合到单个精灵表中,从而减少 HTTP 请求的数量。以下是其样例:



在这个例子中,所有图标(喜欢、评论、分享等) 阿联酋电报筛选 都被组合成一个 icons-sprite.png 精灵表。 CSS 类(例如 .like-icon、.comment-icon、.share-icon)使用 background-position 属性将精灵表的正确部分显示为每个图标的背景。

您可以借助https://icomoon.io/等工具执行相同操作,这些工具将帮助您使用您配置的类名生成精灵表和 CSS。

好处:
Web 应用程序现在仅加载一个图像 (icons-sprite.png),而不是加载多个图像文件,从而减少了 HTTP 请求的数量。
精灵表只需加载一次即可被浏览器缓存,从而改善后续的页面加载。
CSS 类控制精灵表中各个图标的显示,允许流畅的悬停和滚动效果,而无需额外的加载延迟。
这会改善加载时间并带来更快、更高效的用户体验。
6. 响应式图像服务
自适应图像服务是一种用于 Web 开发的技术,用于提供针对用户特定设备和网络条件优化的图像。自适应图像服务旨在提供最佳的图像质量,同时最小化图像文件大小并确保最佳性能。

通常,此服务由具有动态调整大小功能的 CDN 或图像服务器管理,并且实施细节可能因所选服务而异。例如,如果您更喜欢使用 AWS CloudFront,请查看此链接了解有关图像优化的更多信息:AWS 博客:使用 Amazon CloudFront 和 AWS Lambda 进行图像优化。

7. 删除元数据
从图像中删除元数据是图像优化的重要步骤。因为图像元数据有时会占用图像文件大小的很大一部分,尤其是用数码相机或手机拍摄的图像,通过删除元数据可以显著减少图像的整体文件大小,从而加快网页上图像的加载速度。 ImageMagick 或其他在线工具等工具允许您从图像中删除元数据。

8. 使用 SVG 制作图标和徽标
SVG 非常适合简单的图标,因为它们是基于矢量的,并且可以缩放而不会损失质量。


使用 SVG 作为图标提供了一种轻量级、可扩展且具有视觉吸引力的解决方案,可提高网页性能、确保图像清晰并增强跨多种设备和浏览器的整体用户体验。

使用 SVG 对徽标也很有用,但要小心,作为一种营销策略,最好使用标准格式,以便用户可以下载徽标并查看和使用它而不会出现格式问题。

9. 图像尺寸
在 HTML 或 CSS 中指定图像尺寸对于避免布局偏移和提高页面渲染速度至关重要。通过在 HTML 或 CSS 中指定图像尺寸,您可以向浏览器提供在初始渲染过程中为图像分配正确空间所需的信息。

好处
避免布局偏移:指定尺寸可确保浏览器在加载图像之前知道图像的确切尺寸,避免突然的布局偏移。
更快的页面渲染:通过提前了解图像尺寸,浏览器可以更有效地渲染布局,加快页面加载时间。
改善用户体验:通过消除布局转变,用户获得更加一致和愉快的浏览体验。
要指定图像的尺寸,您可以直接在 <img> 标签内包含宽度和高度属性,也可以通过在 CSS 中向 <img> 标签添加类属性来应用特定样式。

10.模糊
除了上面提到的技术之外,您还可以使用模糊技术,例如Blurhash,它允许使用 CDN 自动压缩图像以加快加载速度,其中图像最初以低分辨率显示,并在完全加载时逐步提高其质量,并逐步加载图像以逐步提高质量。

结论
图像优化对于提高 Web 应用程序的性能和用户体验至关重要。适当选择 WebP 和 AVIF 等格式、实现响应式图像、延迟加载、使用精灵表、响应式图像服务、删除元数据、优先使用 SVG 作为图标和徽标、指定尺寸以及应用模糊等技术都是有效的策略,可以减少文件大小、加快加载时间并在各种平台和设备上提供更好的用户体验。
Post Reply