【问题标题】:How to use WebP in sass如何在 sass 中使用 WebP
【发布时间】:2021-03-27 11:18:50
【问题描述】:

在我的 scss 文件中,我有:

.banner{
    background-image: url("/images/image.jpg");
}

现在我已将其转换为 WebP 图像。我知道如果它是 html 中的图像,我应该这样做:

<picture>
    <source type="image/webp" srcset="images/image.webp">
    <source type="image/jpeg" srcset="images/image.jpg">
    <img src="images/image.jpg">
</picture>

但是,如何在 sass SCSS 文件中执行类似的操作? (我正在使用 Reactjs)

【问题讨论】:

    标签: html css reactjs sass webp


    【解决方案1】:

    无法使用 CSS 检测 webp 支持。

    您可能能够做到的最好的事情是使用 JavaScript 来检测支持并向元素添加一个类(例如使用modernizr)。由于body 元素通常在 React 修改的元素范围之外,因此使用modernizr 添加类应该不是问题。

    然后您可以使用该类来选择要使用的规则:

    .banner{
        background-image: url("/images/image.jpg");
    }
    
    .webp .banner{
        background-image: url("/images/image.webp");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2021-09-27
      • 2020-09-11
      • 2020-01-29
      • 2015-12-05
      • 1970-01-01
      • 2019-10-06
      相关资源
      最近更新 更多