由于更好的压缩,我尝试在整个网站上使用webp图像。然而,我知道safari不支持webp。这些图片是使用background-image: url("img/img.webp)
加载的。然后我应用其他background
属性。
我了解<picture>
标签可以用于根据浏览器支持显示不同的图片。就像这样。
<picture>
<source srcset="some_img.webp" type="image/webp">
<img src="some_img.jpg"alt="">
</picture>
然而,如果有一种使用CSS的方法,可以避免我编写新的HTML和样式来处理所有图像,那将更加方便。
例如,像这样:
#image-id {
background-image: url("../img/img.webp", "../img/img.jpeg"); // show jpeg if webp not supported
}
如果不可能实现前面提到的方式,那么也可以考虑采用类似以下的方法
@media only screen and (safari-specific-property:) {
background-image: url("../img/img.jpeg"); // show jpeg for safari
}
如何在保持浏览器支持的情况下,最好地使用 WebP 图像,并且最好使用 CSS 解决方案?
@supports
示例也是错误的:这只会检查浏览器是否支持background-image: url()
函数,而不会检查 webp 支持。 - SergeiMinaev