如何在 Chrome 中显示 .webp 而在 Firefox 或 IE/Edge 中显示 .jpg?
How to show .webp in Chrome and .jpg in Firefox or IE/Edge?
是否有任何工作示例可以在 Chrome 中显示 .webp
格式文件,在 Firefox 和 IE / Edge 中显示不同的 .jpg
格式文件?
我现在使用这个 CSS
代码:
#bgbox {
background-imgage: url('../img/bg.webp');
}
有没有-moz-background-image
之类的?
最简单的方法是使用 <picture>
元素并设置带有 jpg
回退的 webp
源。您可以有多个来源,浏览器将尝试加载第一个兼容的来源,或者如果 none 有效则使用回退。
<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
是否有任何工作示例可以在 Chrome 中显示 .webp
格式文件,在 Firefox 和 IE / Edge 中显示不同的 .jpg
格式文件?
我现在使用这个 CSS
代码:
#bgbox {
background-imgage: url('../img/bg.webp');
}
有没有-moz-background-image
之类的?
最简单的方法是使用 <picture>
元素并设置带有 jpg
回退的 webp
源。您可以有多个来源,浏览器将尝试加载第一个兼容的来源,或者如果 none 有效则使用回退。
<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