首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SASS:@媒体查询的内部扩展

SASS:@媒体查询的内部扩展
EN

Stack Overflow用户
提问于 2021-10-07 12:07:39
回答 2查看 179关注 0票数 4

我有简单的SCSS代码,@Extended@MediaQuery中。

SCSS编译器在这两个变体上都给了我错误:

变异1:

代码语言:javascript
复制
%dark-theme {
    background: $dark-background;
}

%light-theme {
    background: $light-background;
}

@media (prefers-color-scheme: light) {
    body {
        @extend %light-theme;
    }
}

@media (prefers-color-scheme: dark) {
    body {
        @extend %dark-theme;
    }
}

变异2

代码语言:javascript
复制
%dark-theme {
    background: $dark-background;
}

%light-theme {
    background: $light-background;
}

@media (prefers-color-scheme: light) {
    @extend %light-theme;
}

@media (prefers-color-scheme: dark) {
    @extend %dark-theme;
}

是否有任何解决方案可以在基本元素中以及在@media查询中执行@扩展

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-12 06:36:23

您不能在媒体查询中使用@extend。相反,您可以在要扩展的类中使用媒体查询。

代码语言:javascript
复制
%dark-theme {
    @media (prefers-color-scheme: dark) {
        background: $dark-background;
    }
}

%light-theme {
    @media (prefers-color-scheme: light) {
        background: $light-background;
    }
}

body {
    @extend %light-theme;
    @extend %dark-theme;
}

混音也是另一种选择。

票数 2
EN

Stack Overflow用户

发布于 2021-10-13 23:05:22

...or您可以简单地使用mixins:

代码语言:javascript
复制
@mixin dark-theme {
    background: $dark-background;
}

@mixin light-theme {
    background: $light-background;
}

@media (prefers-color-scheme: light) {
   body {
    @include light-theme;
   }
}

@media (prefers-color-scheme: dark) {
  body {
    @include dark-theme;
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69480854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档