CSS 框架 词条目录
前端Wiki/词条/Sass Mixin 混入

Sass Mixin 混入

定义Sass 中可复用的样式代码块,传参生成不同变体,是消灭重复样式的核心手段

Mixin 类似带样式的函数:用 @mixin 定义一段样式(可以带参数与默认值),用 @include 调用,调用一次就把这段样式复制到当前位置。最典型的用途是封装兼容代码块(一行圆角自动带齐各浏览器前缀)和响应式断点:@include respond-to(md) 写业务,媒体查询细节全部藏在 mixin 内部,业务代码只剩语义。

与占位符(@extend)的区别必须记住:Mixin 是把样式复制一份到每个调用处,互相独立互不影响;@extend 是把多个选择器合并到同一组规则里,产物更小但耦合更重、跨文件使用风险大。经验法则:需要传参、要生成不同变体的用 Mixin;纯粹共享且永不变更的样式用占位符;需要计算并返回一个值(颜色、尺寸)则交给 @function。三者各司其职,组合使用基本能覆盖所有复用场景。

HTML
<style>
  /* Sass 源码:
     @mixin btn($bg: #4a9eff) {
       background: $bg; color: #fff; border-radius: 6px; }
     .a { @include btn; }
     .b { @include btn(#f778ba); }
     —— 编译后的纯 CSS: */
  .a { background: #4a9eff; color: #fff; border-radius: 6px; }
  .b { background: #f778ba; color: #fff; border-radius: 6px; }
</style>
<button class="a">默认参数</button>
<button class="b">传入参数</button>
⚠ 常见误区
🔗 相关词条Sass响应式断点
← 返回来源章节Sass