是否有任何工作示例可以在Chrome中显示.webp
格式文件,在Firefox和IE/Edge中显示不同的.jpg
格式文件?
我现在使用这个CSS
代码:
#bgbox {
background-imgage: url('../img/bg.webp');
}
有没有-moz-background-image
或类似的东西?
最简单的方法是使用<picture>
元素并设置具有jpg
回退的webp
源。您可以有多个源,浏览器将尝试加载第一个兼容的来源,或者在不起作用时使用回退。
<picture>
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" />
</picture>
但是,如果您需要设置背景,则需要不同的方法。您可以使用 Modernizr 检测浏览器是否支持webp
,并基于此应用不同的样式。
.image {
background-size: cover;
width: 100px;
height: 100px;
}
.no-webp .image {
background-image: url('https://www.gstatic.com/webp/gallery/4.jpg');
}
.webp .image {
background-image: url('http://www.gstatic.com/webp/gallery/4.webp');
}
<script src="https://cdn.jsdelivr.net/modernizr/3.3.1/modernizr.min.js"></script>
<div class="image"></div>
您也可以使用图像集,例如:
#bgbox {
background-image: url('https://www.gstatic.com/webp/gallery/4.jpg');
background-image: -webkit-image-set(url('http://www.gstatic.com/webp/gallery/4.webp')1x );
}
因此,不支持image-set
或webp
的浏览器将使用默认的背景图像。 所以你不需要任何像modernizr
这样的JavaScript