」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何根據 HTML 元素類別動態設定 Sass 顏色變數?

如何根據 HTML 元素類別動態設定 Sass 顏色變數?

發佈於2024-11-03
瀏覽:123

How can I dynamically set Sass color variables based on HTML element classes?

基於HTML 元素類別配置動態Sass 變數

問題: 我可以根據應用於HTML 元素的類別動態設定Sass 顏色變數嗎?

答案: 是的,你可以透過使用Sass include 或mixins 來實現這一點。

使用 Includes

在單獨的文件(_theme .scss),使用 Sass 變數定義樣式:

section.accent {
    background: $accent;
}

.foo {
    border: $base;
}

.bar {
    color: $flat;
}

在您的主 Sass 檔案 (main.scss) 中,根據 HTML 元素上的類別匯入包含內容:

html {
  &.sunrise {
    $accent: #37CCBD;
    $base: #3E4653;
    $flat: #eceef1;

    @import "theme";
  }

  &.moonlight {
    $accent: #18c;
    $base: #2a2a2a;
    $flat: #f0f0f0;

    @import "theme";
 }
}

使用Mixins

或者,您可以建立一個以顏色作為參數的mixin:

@mixin theme($accent, $base, $flat) {
    // Define styles using the passed variables
}

在您的主 Sass 檔案中,使用適當的顏色呼叫 mixin:

html {
  &.sunrise {
    $accent: #37CCBD;
    $base: #3E4653;
    $flat: #eceef1;

    @include theme($accent, $base, $flat);
  }

  &.moonlight {
    $accent: #18c;
    $base: #2a2a2a;
    $flat: #f0f0f0;

    @include theme($accent, $base, $flat);
 }
}

這種方法可讓您根據 HTML 元素的類別動態地將不同的主題套用到 HTML 元素。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3