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 中的 Mixin的详细内容。更多信息请关注PHP中文网其他相关文章!