Mixin 值
混合宏也可以是值!你不能直接将混合宏作为值来书写,但你可以将混合宏的名称传递给 meta.get-mixin() 函数,以将其作为值获取。一旦你有了混合宏值,你就可以将其传递给 meta.apply() 混合宏来调用它。这使得库能够以复杂而强大的方式进行扩展。
混合宏也可以是值!你不能直接将混合宏作为值来书写,但你可以将混合宏的名称传递给 meta.get-mixin() 函数,以将其作为值获取。一旦你有了混合宏值,你就可以将其传递给 meta.apply() 混合宏来调用它。这使得库能够以复杂而强大的方式进行扩展。
@use "sass:meta";
@use "sass:string";
/// Passes each element of $list to a separate invocation of $mixin.
@mixin apply-to-all($mixin, $list) {
@each $element in $list {
@include meta.apply($mixin, $element);
}
}
@mixin font-class($size) {
.font-#{$size} {
font-size: $size;
}
}
$sizes: [8px, 12px, 2rem];
@include apply-to-all(meta.get-mixin("font-class"), $sizes);
@use "sass:meta"
@use "sass:string"
/// Passes each element of $list to a separate invocation of $mixin.
@mixin apply-to-all($mixin, $list)
@each $element in $list
@include meta.apply($mixin, $element)
@mixin font-class($size)
.font-#{$size}
font-size: $size
$sizes: 8px, 12px 2rem
@include apply-to-all(meta.get-mixin("font-class"), $sizes)
.font-8px {
font-size: 8px;
}
.font-12px {
font-size: 12px;
}
.font-2rem {
font-size: 2rem;
}