【发布时间】:2021-01-28 16:06:09
【问题描述】:
我一直致力于提高我的网站页面速度。我计划使用 AVIF 格式的图像。此图像格式仅在最新的 Chrome 浏览器版本中受支持。 为了提供后备图片,我使用了这个 CSS:
.banner-bg {
background-image: url('https://cdn.xyz.com/content/images/desktop_banner_bg.jpg'), linear-gradient(90deg, rgb(246, 250, 255) 0%, rgb(244, 249, 255) 33%, rgb(213, 227, 255) 70%, rgb(211, 225, 255) 100%);
}
.banner-bg{
background: url('https://cdn.xyz.com/content/images/desktop_banner_bg-updated.avif'), linear-gradient(90deg, rgb(246, 250, 255) 0%, rgb(244, 249, 255) 33%, rgb(213, 227, 255) 70%, rgb(211, 225, 255) 100%);
}
这在 Chrome 中运行良好,只加载 AVIF bg 图像而忽略 jpg 格式。在旧版 Chrome 中,会忽略 AVIF 格式,并加载 jpg 格式。
页面中只加载了一张图片。而在 Firefox 和其他浏览器中,会忽略 AVIF 格式并且不加载 jpg。我尝试使用下面的代码,它可以工作,但是两个格式图像都加载到页面中,这增加了我的页面大小。
.banner-bg {
background-image: url('https://cdn.xyz.com/content/images/desktop_banner_bg.jpg'), url('https://cdn.xyz.com/content/images/desktop_banner_bg-updated.avif'), linear-gradient(90deg, rgb(246, 250, 255) 0%, rgb(244, 249, 255) 33%, rgb(213, 227, 255) 70%, rgb(211, 225, 255) 100%);
}
有没有办法在 Firefox 中提供后备背景图片,仅在默认背景图片被忽略时才加载?
【问题讨论】:
-
不能使用
img标签吗?因为有picture标签的解决方案 -
我无法使用它,因为我需要更改整个 html 结构..
-
@DineshM 看到我的回答 :)
-
正面说明:Firefox 87 也支持 avif 图像格式。
标签: html css pagespeed fallback avif