問題: 我可以根據應用於HTML 元素的類別動態設定Sass 顏色變數嗎?
答案: 是的,你可以透過使用Sass include 或mixins 來實現這一點。
在單獨的文件(_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";
}
}
或者,您可以建立一個以顏色作為參數的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