首頁  >  文章  >  web前端  >  SASS Mixin 值可以是動態 CSS 屬性嗎?

SASS Mixin 值可以是動態 CSS 屬性嗎?

Barbara Streisand
Barbara Streisand原創
2024-10-27 10:52:30899瀏覽

Can SASS Mixin Values Be Dynamic CSS Properties?

SASS Mixin 值可以是 CSS 屬性嗎?

問題:

建立通用邊距/padding mixin,因為程式碼結構不正確而失敗:

[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);
  }
}

解:

在mixin 值中使用變數作為CSS 屬性名稱,需要字串插值,使用#{$var} 語法實作:
[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);
  }
}

注意:

透過重新評估屬性選擇器結構來確保選擇器特異性。

以上是SASS Mixin 值可以是動態 CSS 屬性嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn