SASS 中的 Mixins

sass 中的 mixins

mixin 是 css 预处理器提供的工具,虽然它们不是可以被理解的函数,但它们的主要用途是重用代码。

不止一次,我们需要创建多个类来执行相同的操作,但更改单个值,例如字体大小的多个类。

.fs-10 {
  font-size: 10px;
}
.fs-20 {
  font-size: 20px;
}
.fs-30 {
  font-size: 30px;
}

如果我们仔细观察,在这种情况下唯一改变的是用于命名类和设置字体大小值的数字,使用 mixin 我们可以创建一个自动为我们创建此代码的函数。

示例:

// esto es un mapa, lo que conocemos como un objeto en javascript
$sizes: (
  "10": "10px",
  "20": "20px",
  "30": "30px"
) 

// el mixin que crea las clases
@mixin generate-font-sizes($sizes) {
  // recorremos cada uno de los elementos del mapa
  @each $key, $value in $sizes{
    // creamos la clase e interpolamos los valores
    .fs-#{$key} {
      font-size: #{$value};
    }
  }
}

// invocamos al mixin para que se ejecute
@include generate-font-sizes($sizes);

当我们编译代码时,我们将得到与第一次相同的结果,但现在你可能会认为我们的代码比结果长,也许这是真的,但如果我想要,例如,从1 到 100 并创建从 fs-1 到 fs-100 的类我也可以使用 mixin 来完成

// El mixin que crea las clases
@mixin generate-font-sizes() {
  // El loop que hace el recorrido de 1 a 100
  @for $size from 1 through 100 {
    // Creamos la clase e interpolamos los valores
    .fs-#{$size} {
      font-size: #{$size}px;
    }
  }
}

// Invocamos al mixin para que se ejecute
@include generate-font-sizes();

这样我们就会得到预期的结果,这不仅适用于字体大小,而且适用于任何想到的东西,我们可以在 mixin 中使用小代码块构建大量代码。

这就是现在的全部内容,我们学习了如何在预处理器中使用 mixin 和重用 css 代码。

以上就是SASS 中的 Mixins的详细内容,更多请关注其它相关文章!