【问题标题】:Using @supports with styled-components将 @supports 与样式化组件一起使用
【发布时间】:2017-09-19 15:23:52
【问题描述】:

我最近改用styled-components 进行样式设置,我一直在尝试让CSS 的@supports 功能正常工作,但没有成功。

@supports 语法的使用有点像:

@supports (display: grid) {
    .Container {
        background-color: orange;
    }
}

现在这很好,因为 styled-components 文档有以下行:

注意:与号 (&) 被我们为该样式组件生成的唯一类名替换

但是当我尝试使用与号来使用它时,它不起作用。使用下面的代码时,我在输出的 CSS 中得到一个 & 符号

const Container = styled.div`
    @supports (display: block) {
      & {
        background-color: seagreen;
      }
    }
`;

【问题讨论】:

    标签: javascript css styled-components


    【解决方案1】:

    这似乎是styled-components 中的真正错误!您根本不需要将 & 号放在那里,它应该像媒体查询一样工作:

    const Container = styled.div`
      @supports (display: block) {
        background-color: seagreen;
      }
    `;
    

    不过现在还不行,所以我打开了an issue with our parser,希望它很快就会得到解决。修复后我会更新这个答案!

    【讨论】:

    • 感谢@maxstbr,一旦更新了修复程序,我会将其标记为正确答案
    • @maxstbr,我查看了 styled-components package.json 和 yarn.lock。看起来手写笔没有更新到最新版本。它卡在 2.0.3 上。
    • 新读者注意事项:手写笔已经更新,@supports 现在支持了! ?
    猜你喜欢
    • 2018-03-17
    • 2019-09-01
    • 2018-10-17
    • 1970-01-01
    • 2019-12-10
    • 2019-02-05
    • 2023-01-18
    • 1970-01-01
    • 2019-11-16
    相关资源
    最近更新 更多