以用户体验的心态为移动浏览器优化图像

从来没有人说:“请让我再等一会儿。” 但是,如果您没有优化网站上的图片,那么您正在做的就是:您让用户不必要地等待并在此过程中浪费他们的移动数据。

火上浇油的是,如何生成、同步和删除 Discord 服务器模板HTTP 档案馆的 2022 年鉴发现图像是网页重量的最重要贡献者,约占其大小的一半。

因此,优化图像是轻而易举的事。如果您想最大限度地发挥网站的性能、改善用户体验并促进网站的搜索引擎优化,这是最佳目标。

在本教程中,我们将介绍为移动浏览器优化图像的基本策略。如何对 WhatsApp 上的特定联系人隐藏您的个人资料图片主要思想很简单:在不牺牲质量的情况下尽可能减小图像尺寸。我将解释成为图像优化专家所需了解的概念、如何在 Adobe Acrobat Reader 中验证 PDF 文件中的数字签名技术和工具。

  • 调整图像大小以获得大胜利

  • 压缩课

  • 获胜的格式

  • 响应式加载

  • 用于图像优化的延迟加载

为了帮助我们可视化优化性能,如何在 iPhone 和 Android 上订阅 Telegram Premium我创建了一个演示来比较我们将要讨论的策略。

该演示概述了图像加载时间和文件大小,如何隐藏 WhatsApp 上特定联系人的最后一次查看并让您比较不同图像的保真度。如何在 Microsoft Outlook for Desktop 和 Web 中阻止和取消阻止电子邮件地址要夸大结果,请使用您的开发工具来限制您的连接。例如,选择Fast 3G将导致图像加载时间大大延长,如何使用 Adobe Acrobat 将 Word 文件插入 PDF并突出我们优化带来的性能优势。

在进入这些策略之前,让我们建立一个基准,如何更改 Google Chrome 的启动页和主页我们可以用它来衡量我们的进展。

看这幅由 Dulcey Lima 拍摄的仙人掌仙人掌的美丽图画。如何在谷歌浏览器中管理书签该图像来自Unsplash,如何在 PC 和移动版 Google Chrome 中启用或禁用自动填充这是一个用于查找可免费使用的高质量图像的绝佳资源。

从 Unsplash 下载这张图片会生成一个 4,678 x 3,175 像素的巨大 JPEG,大小为 3MB。虽然这可能会打印出精美的照片,如何删除桌面版、iPhone 版和安卓版 Google Chrome 浏览器上的 Cookie但将此图像加载到具有快速 3G 连接的移动设备上需要超过 53 秒的时间。这等的时间太长了!

鉴于 iPhone 只有 390 像素宽,如何清除 Android 和 iPhone 上的 Facebook 缓存一张 4,000 多像素的图像似乎有点矫枉过正。让我们通过将图像大小调整为更合理的大小来进行优化。

调整图像大小以获得大胜利

大多数图像编辑器都允许您调整图像大小。如何在 Microsoft Outlook for Desktop 和 Web 上撤回电子邮件在预览中打开图像(在 Mac 上)并调整大小,或者使用Windows 上的 PowerToys直接从文件资源管理器中进行调整。

不管你想怎么做,想法都是一样的:如何停止在 WhatsApp 组中自动下载照片使图像比以前小。

通过将我们的仙人掌图像调整为 1,500 像素的宽度,如何在 iPhone 和 Android 上的 Facebook 中创建视频播放列表我们将加载时间减少到大约 47 秒。减少了 11%。确保您提供大小合适的图像是为移动浏览器优化图像的重要第一步。

查看演示以比较图像的质量。

但是你应该拍摄多大的尺寸?

通常,您希望提供大小与其在浏览器中的显示方式相同的图像。例如,我们调整后的 1,500 像素宽的图像非常适合显示为 1,500 像素宽的网页如何删除 Android 和 iPhone 上的 WhatsApp Reactions。如果宽度只有 500px,那么最佳图像大小将是 500px。

我们这里有一个金发姑娘原则:提供恰到好处的图像,如何使用 Adobe Acrobat DC 加密或保护 PDF既不太大也不太小。(太小的图像会显得模糊和像素化。)

这里机器中的一个扳手是并不是所有的显示器都是一样的。根据设备的分辨率,500 像素并不总是等于 500 像素。对于高密度显示器,设备上的多个物理像素构成一个 CSS 像素。

例如,iPhone 14 显示屏的宽度为 390px如何使用 Adobe Acrobat DC 在 PDF 中插入、重新排序和删除页面。然而,那些像素中的每一个都包括三个物理像素。这种物理像素与 CSS 像素的比率称为设备像素比率(DPR)。如何在 Canva 中创建 Zoom 会议背景在我的 Google Pixel 7 上,DPR 是 2.61。访问whatismyviewport.com查看您当前的 DPR。

理解 DPR 很重要,因为它会影响我们的金发姑娘原则。对于 DPR 为 3 的 iPhone 14,我们需要在页面上提供比其宽度大三倍的图像。如何在 Facebook 视频中打开字幕这意味着页面上 500 像素宽的容器需要 1,500 像素宽的图像。不过,桌面显示器的 DPR 通常为 1,因此页面上 500 像素的容器需要 500 像素宽的图像。

正如您想象的那样,如何在 PC 和移动设备上启用或禁用 Google 安全搜索管理不同 DPR 的图像可能会很快变得复杂而乏味。下面,如何在台式机、iPhone 和 Android 版 Google Chrome 上启用和禁用弹出窗口阻止程序在有关响应式图像的部分中,我将分享我们如何利用标签<picture> 为我们完成这项工作。不过,首先让我们讨论下一个优化策略:压缩。

压缩课

图像压缩通过使用不同的算法删除数据,将图像的大小减小到指定的阈值内。压缩可以是无损的,图像质量不受影响,也可以是有损的,牺牲轻微的质量损失来显着减小图像大小。

图像压缩适合作为一种优化策略,如何清除适用于 Web、Android 和 iPhone 的谷歌浏览器的缓存和 Cookie因为它可以减小图像大小并减少加载时间。压缩我们的原始仙人掌图像为我们节省了 1.36MB,并将加载时间减少了 17%。通过调整大小和压缩仙人掌图像,与原始图像相比,我们节省了 2.7MB,加载时间减少了 81%!

我最喜欢用于调整图像大小、压缩和转换图像的应用程序是 Google 的 Squoosh,这不仅仅是因为它有一个有趣的名字如何在台式机和移动设备上更改 Discord 帐户的电话号码。通过可下载的 Web 应用程序和CLI 工具,Squoosh 提供了一个直观的 UI,用于快速优化图像。

该应用程序的部分功能来自于转换图像格式的能力,如何在桌面版和移动版 Telegram 中创建自定义静音持续时间这决定了图像的压缩方式。JPEG、PNG 和 GIF 都是当今广泛使用的常见格式。

最近,两种新的尖端格式 WebP 和 AVIF 出现了。如何使用 DuckDuckGo 电子邮件保护服务它们在不显着降低质量的情况下显着减小了文件大小,并且在浏览器中获得了足够广泛的支持,可以开始在生产中使用它们。

获胜的格式

WebP 于 2010 年发布,是一种支持透明和动画的压缩格式。在撰写本文时,超过 97% 的浏览器都支持它。该格式由 Google 的工程师开发,什么是 MAC 随机化以及如何在您的设备上使用它旨在取代 JPEG。

在测试中,工程师从网络中随机选择了一百万张图片(JPEG、PNG 和 GIF)。然后,他们使用 WebP 对图像重新编码,没有产生明显的质量下降,文件大小减少了 39%。当将我们的仙人掌图像重新编码为 WebP 时,文件大小减少了 55%,加载时间减少了 26%。

AVIF 也有类似的故事。由开放媒体联盟开发,如何关闭 Amazon Prime Video 上的自动播放该格式于 2019 年发布,目前76% 的浏览器支持AVIF 。Netflix 为该格式的开发做出了贡献,并创建了一个显示出色结果的基准测试框架,其中 AVIF 在不牺牲图像保真度的情况下减少图像大小方面甚至优于 WebP。如何在 Discord 上更改您的用户名和昵称将我们的仙人掌图像重新编码为 AVIF 时,文件大小减少了 74%,如何取消台式机和移动设备上的 Telegram Premium 订阅加载时间减少了 53%!

上面提到的工具 Squoosh 可以将图像转换为 WebP 和 AVIF。我鼓励您尝试使用图像来亲自查看节省的费用。结果令人难以置信。

让我们花点时间回顾一下我们到目前为止的进展。我们的目标是展示优化移动设备图像的最佳策略(推而广之,也适用于更大的视口)。基本策略很简单:在不牺牲质量的情况下减小文件大小。到目前为止,我们已经回顾了如何通过调整大小、如何在 Adobe Acrobat DC 中编辑扫描的 PDF压缩和使用最新最好的图像格式来实现这一点。

但是,如果我们可以将所有这些整合在一起呢?在下一节有关响应式图片的内容中,我将向您展示如何做到这一点:每次都提供完美的图片。

响应式加载

使用 HTML <picture> element,无论设备如何,我们都可以以正确的大小和格式加载图像。它确保每次都能获得最佳图像加载体验,并自动考虑设备的 DPR。

不要破坏惊喜,但与未优化的仙人掌图像相比,如何在 Discord 上导入和使用贴纸使用这种方法可以令人难以置信地减少 91% 的加载时间和 97% 的文件大小。

如前所述,秘诀就是<picture>元素。我将首先介绍标记,然后介绍它的含义:

<picture>

<source srcset="

assets/cactus-300.avif 300w,

assets/cactus-500.avif 500w,

assets/cactus-700.avif 700w,

assets/cactus-900.avif 900w,

assets/cactus-1100.avif 1100w,

assets/cactus-1300.avif 1300w,

assets/cactus-1500.avif 1500w,

assets/cactus-1700.avif 1700w,

assets/cactus-1900.avif 1900w,

assets/cactus-2100.avif 2100w

" sizes="(max-width: 1300px) 100vw, 1300px" type="image/avif" height="747" width="1100">

<source srcset="

assets/cactus-300.webp 300w,

assets/cactus-500.webp 500w,

assets/cactus-700.webp 700w,

assets/cactus-900.webp 900w,

assets/cactus-1100.webp 1100w,

assets/cactus-1300.webp 1300w,

assets/cactus-1500.webp 1500w,

assets/cactus-1700.webp 1700w,

assets/cactus-1900.webp 1900w,

assets/cactus-2100.webp 2100w

" sizes="(max-width: 1300px) 100vw, 1300px" type="image/webp" height="747" width="1100">

<img srcset="

assets/cactus-300.jpg 300w,

assets/cactus-500.jpg 500w,

assets/cactus-700.jpg 700w,

assets/cactus-900.jpg 900w,

assets/cactus-1100.jpg 1100w,

assets/cactus-1300.jpg 1300w,

assets/cactus-1500.jpg 1500w,

assets/cactus-1700.jpg 1700w,

assets/cactus-1900.jpg 1900w,

assets/cactus-2100.jpg 2100w

" sizes="(max-width: 1300px) 100vw, 1300px" src="assets/cactus-1100.jpg" alt="Cactus image loaded responsively" height="747" width="1100">

</picture>

图片元素包含三个元素:AVIF<source>元素、WebP<source>元素和熟悉的<img>元素。

如果浏览器支持列出的第一种格式(在本例中为 AVIF),则浏览器将提供 AVIF 图像。如果没有,它将转到列表 (WebP) 中的下一张图像,直到找到支持的图像类型。然后,图片元素允许您指定多种图像格式,同时还确保只向用户提供支持的图像类型。

在我们的用法中,<source> element有五个属性。<srcset>通过路径和宽度定义可用图像。500w,例如,表示图像宽度为 500px。上面<srcset>显示有十种不同的图像尺寸可用。您可以根据需要生成任意数量的图像,但它们都应具有相同的纵横比。

type 属性告诉浏览器图像的MIME 媒体类型。对于 AVIF,我们使用type="image/avif".

下一个属性是sizes,这可能是最难理解的。Sizes 使用媒体查询告诉浏览器它应该根据用户的视口使用什么尺寸的图像。

对于仙人掌演示,尺寸定义为"(min-width: 1300px) 1300px, 100vw". 这表示如果视口为 1300 像素或更大,请使用 1300 像素宽的图像。因为我max-width在 1300px 的容器上设置了 a,所以我永远不需要宽度超过 1300px 的图像。

并且,只要视口小于 1300 像素,浏览器就应该提供大约整个视口宽度或 100vw 的图像。如果视口为 500 像素,则浏览器将提供 500 像素的图像。在演示中,您可以通过调整浏览器大小、刷新并在 Dev Tools 的网络选项卡中查看图像名称来测试这一点。您会看到图像的大小会适应浏览器的大小。很酷。

这里聪明的部分是浏览器考虑了显示器的 DPR。如果移动设备的 DPR 为 2,那么当视口超过 1300 像素时,它将提供尽可能大的图像(在我们的例子中为 2100 像素)。您可以通过以响应模式打开图像优化演示并更改 DPR 来对此进行测试。当该值更改时,您会看到浏览器将获取不同的图像。

添加到<source>元素的最后一个属性是width和height。这似乎有点违反直觉,因为这里的重点是提供具有不同高度和宽度的图像,但是在图像上设置高度和宽度再次很重要。

设置宽度和高度可以让浏览器提示您的图像将占用多少空间。有了这些信息,浏览器就可以为图像保留适当的空间,并防止出现图像加载后页面跳转的卡顿体验。

但是我们使用哪个高度和宽度呢?我认为Chip Cullen 的建议是最好的方法:使用后备图像的宽度和高度。在演示中,那是width="1100"and height="747"。请注意,我们省略了单位。

该<img>标签遵循相同的模式,但增加了两个。添加alt标签以改进可访问性和 SEO,并使用该<src>元素指定后备图像,以防其他标记不受支持。

哇!深吸一口气,因为这就是您需要了解的有关使用响应式图像优化移动浏览器用户体验的所有信息。如您所见,响应式图像需要大量标记。

为了让您的生活更轻松,请选择支持开箱即用的响应式图像的平台或工具。例如,发布平台Ghost会自动为您优化图像,并提供帮助程序以方便生成您自己的. 静态站点生成器11ty提供了一个图像插件来做同样的事情。Gatsby、Next.js和其他平台也包含此功能。

另一个出色的工具是 Cloudinary 的响应式图像断点生成器。您上传图像,指定断点,然后 Cloudinary 为您生成图像和标记。除了这个工具,Cloudinary还提供了一个图像云托管服务,它使用比这里提到的更复杂的技术来自动提供完美的图像。

还可以使用不同的命令行工具来生成响应式图像。对于仙人掌演示,我编写了两个脚本来生成所有图像。一个脚本使用ImageMagick,另一个使用Squoosh。最终,Squoosh 给了我更好的结果,所以我最终使用了它生成的图像。

快速提示:在 Squoosh 网络应用程序中,有一个 CLI 按钮可以复制代码以在 JavaScript 中执行图像转换。这很有用,因为您可以使用 UI 定义调整值、格式和其他选项,然后直接复制代码。

你可能认为你已经完成了,但现在不是偷懒的时候,因为还有一个最终的优化策略需要讨论:延迟加载。

用于图像优化的延迟加载

我们的指导原则是以最小的文件大小提供大小合适的图像,同时尽可能少地牺牲图像质量。这是一个非常好的原则,除了一个致命的缺陷。用户可能永远不会向下滚动到足以看到已因此徒劳下载的图像。

延迟加载通过仅在保证用户可以看到图像时才下载图像来解决此问题。在延迟加载的情况下,如果用户从来没有一直浏览到页面底部,那么底部的那些图像根本就不会加载。因此,您的网页加载速度更快,用户下载的数据更少。

直到最近,延迟加载还需要编辑 HTML 标记并使用 JavaScript 库。然而,现在就像添加loading="lazy"到任何<img>元素一样简单,连同上面提到的宽度和高度属性。就是这样!现在,超过 92% 的浏览器都支持您的图像延迟加载。

延迟加载最适合用户视口之外(屏幕外)的图像。不要对首屏图像使用该属性,因为这些图像应该会立即加载。

完美的形象

考虑到我们涵盖的所有技术细节,让我们回顾一下为什么我们应该首先优化图像。我们希望为我们的用户提供最好的体验,这意味着不要让他们在不必要的时候等待。这些优化策略具有改进我们网站的 SEO 的额外好处。

从调整大小到压缩,再到最先进的格式,再到将所有内容组合到强大的图片标签中——您现在已经掌握了优化网站图像所需的一切知识。

猜你喜欢

转载自blog.csdn.net/weixin_47967031/article/details/130044875