Heim  >  Artikel  >  Web-Frontend  >  Können SASS-Mixin-Werte dynamische CSS-Eigenschaften sein?

Können SASS-Mixin-Werte dynamische CSS-Eigenschaften sein?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 10:52:30899Durchsuche

Can SASS Mixin Values Be Dynamic CSS Properties?

Können SASS-Mixin-Werte CSS-Eigenschaften sein?

Problem:

Erstellen eines universellen Randes /padding mixin, Sie hatten aufgrund einer falschen Codestruktur keinen Erfolg:

[class*="shift"] {
  $sft-o: 10px;
  @mixin shift_stp($val) {
    &[class*="_sml"]{ $val: $sft-o; }
    &[class*="_mid"]{ $val: $sft-o * 2; }
    &[class*="_big"]{ $val: $sft-o * 3; }
  }
  &[class*="_m"]{
    @include shift_stp(margin);
  }
  &[class*="_p"]{
    @include shift_stp(padding);
  }
}

Lösung:

Um Variablen als CSS-Eigenschaftsnamen in einem Mixin-Wert zu verwenden , String-Interpolation ist erforderlich, erreicht mit der #{$var}-Syntax:

[class*="shift"] {
  $sft-o: 10px;
  @mixin shift_stp($val) {
    &[class*="_sml"]{ #{$val}: $sft-o; }
    &[class*="_mid"]{ #{$val}: $sft-o * 2; }
    &[class*="_big"]{ #{$val}: $sft-o * 3; }
  }
  &[class*="_m"]{
    @include shift_stp(margin);
  }
  &[class*="_p"]{
    @include shift_stp(padding);
  }
}

Hinweis: Stellen Sie die Selektorspezifität sicher, indem Sie die Attributselektorstruktur neu bewerten.

Das obige ist der detaillierte Inhalt vonKönnen SASS-Mixin-Werte dynamische CSS-Eigenschaften sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn