Mixin-Werte

Kompatibilität
Dart Sass
seit 1.69.0
LibSass
Ruby Sass

Mixins können auch Werte sein! Sie können einen Mixin nicht direkt als Wert schreiben, aber Sie können den Namen eines Mixins an die Funktion meta.get-mixin() übergeben, um ihn als Wert zu erhalten. Sobald Sie einen Mixin-Wert haben, können Sie ihn an den Mixin meta.apply() übergeben, um ihn aufzurufen. Dies dient Bibliotheken dazu, auf komplexe und leistungsfähige Weise erweiterbar zu sein.

Spielplatz

SCSS-Syntax

@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);
Spielplatz

Sass-Syntax

@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)

CSS-Ausgabe

.font-8px {
  font-size: 8px;
}

.font-12px {
  font-size: 12px;
}

.font-2rem {
  font-size: 2rem;
}