You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CSS background-image属性中指定WebP不支持时的备选图片

方案1:使用CSS原生image-set()实现(推荐,无需额外JS)

image-set()是CSS原生提供的多源背景图选择语法,支持通过type参数指定图片格式,浏览器会自动匹配第一个自身支持的格式加载,效果和picture元素完全一致。
你可以直接修改a标签的内联样式如下:

<div class="col-sm-6 col-lg-4"><a class="thumbnail" href="~/home/products"
      style="/* 低版本浏览器回退规则,不支持image-set时默认加载JPG */
             background-image: url(/../images/image-370x370.jpg);
             /* 支持image-set的浏览器会自动选择适配的格式 */
             background-image: image-set(
               url(/../images/image-370x370.webp) type("image/webp"),
               url(/../images/image-370x370.jpg) type("image/jpeg")
             );">
        <div class="thumbnail-caption">
          <h3 class="thumbnail-heading">E-Commerce</h3>
          <div class="thumbnail-inner">
            <div class="thumbnail-content">
              this is a complete e-commerce solution through which you can manage your online store.
            </div>
            <div class="thumbnail-icon fa-angle-right"></div>
          </div>
        </div></a>
</div>

该语法兼容Chrome 113+、Firefox 113+、Safari 14+,覆盖目前95%以上的全球用户流量。


方案2:JS检测WebP支持后动态切换(兼容性最优)

如果需要兼容更低版本的浏览器,可以通过JS预先检测WebP支持情况,给根标签加对应的类名,再通过CSS类选择器切换背景图:

  1. 首先在页面加载时执行WebP检测脚本:
function detectWebp() {
  return new Promise(res => {
    const testImg = new Image();
    testImg.onload = () => res(true);
    testImg.onerror = () => res(false);
    // 1像素的WebP测试图
    testImg.src = 'data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==';
  })
}
detectWebp().then(support => {
  document.documentElement.classList.add(support ? 'webp-ok' : 'webp-no');
})
  1. 把背景图规则从内联样式移到CSS文件中:
/* 默认加载JPG作为兜底 */
.thumbnail {
  background-image: url(/../images/image-370x370.jpg);
}
/* 支持WebP的浏览器自动替换为WebP格式 */
.webp-ok .thumbnail {
  background-image: url(/../images/image-370x370.webp);
}

内容的提问来源于stack exchange,提问作者Ali Shan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:27:03