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

SASS如何合并普通选择器与mixin媒体查询内的重复样式规则

SASS规则合并方案

以下两种方案都可以消除源码层面的重复声明,且完全保留原有样式优先级,不需要使用!important:


方案1:占位符选择器提取公共样式

// 定义公共样式占位符,不会单独输出CSS
%p-reset {
  margin: 0;
}

p {
  @extend %p-reset;
}

@include desktop() {
  p {
    @extend %p-reset;
  }
}

编译后CSS逻辑和原写法完全一致,仅需要维护一处重置规则。


方案2:封装跨断点应用mixin(写法最简洁)

// 封装工具mixin,自动将规则同时应用到全局和桌面断点
@mixin with-desktop {
  & {
    @content;
  }
  @include desktop() {
    & {
      @content;
    }
  }
}

// 调用时仅需声明一次规则
p {
  @include with-desktop {
    margin: 0;
  }
}

最终编译输出的CSS和你的原始代码100%一致,后续修改规则仅需调整一次。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:21:04