Sass 在SCSS中创建主题系统-手动创建的替代方案?

Sass 在SCSS中创建主题系统-手动创建的替代方案?,sass,styling,theming,Sass,Styling,Theming,我正在SCSS中创建一个主题系统。因为我希望它具有难以置信的灵活性和易于调整,所以我使用了很多变量(速度不是问题)。在另一个文件中定义了特定于主题的变量之后,我导入我的_default.scss文件以填充其余的变量。使用如下定义来维护这一点非常繁琐(特别是因为我计划对几乎所有原生HTML5元素都这样做): 有没有一种更具活力的方式来做到这一点?否则我会考虑从一个JSON文件生成这个。我也不知道该怎么做 编辑:实际上,这与main.scss文件更为相关,我将所有变量转换为实际的css属性: (..

我正在SCSS中创建一个主题系统。因为我希望它具有难以置信的灵活性和易于调整,所以我使用了很多变量(速度不是问题)。在另一个文件中定义了特定于主题的变量之后,我导入我的_default.scss文件以填充其余的变量。使用如下定义来维护这一点非常繁琐(特别是因为我计划对几乎所有原生HTML5元素都这样做):

有没有一种更具活力的方式来做到这一点?否则我会考虑从一个JSON文件生成这个。我也不知道该怎么做

编辑:实际上,这与main.scss文件更为相关,我将所有变量转换为实际的css属性:

(...)

h1{
    @include font-size($h1-font,$h1-size);
    @include font-family($h1-font);
    font-style: $h1-style;
    font-weight: $h1-weight;
    font-variant: $h1-variant;
    text-transform: $h1-transform;
    text-decoration: $h1-decoration;
}

h2{
    @include font-size($h2-font,$h2-size);
    @include font-family($h2-font);
    font-style: $h2-style;
    font-weight: $h2-weight;
    font-variant: $h2-variant;
    text-transform: $h2-transform;
    text-decoration: $h2-decoration;
}

(...)

如您所见,所有声明都非常相似。如果我需要向所有元素添加另一个属性,那么手动操作将非常繁琐。

我不明白这是为什么。我想为每个元素的每个属性创建一个变量。通过这种方式,我可以有选择地调整我的theme_A.scss文件中的某些属性。我承认,很有可能,我这样做完全是矫枉过正。这似乎有点与CSS背道而驰。这些基本的“调整”将只设置一次,不需要变量-只需编辑基本的CSS/SCS。所有其他样式表只在顶部应用更多适用的选择器。
(...)

h1{
    @include font-size($h1-font,$h1-size);
    @include font-family($h1-font);
    font-style: $h1-style;
    font-weight: $h1-weight;
    font-variant: $h1-variant;
    text-transform: $h1-transform;
    text-decoration: $h1-decoration;
}

h2{
    @include font-size($h2-font,$h2-size);
    @include font-family($h2-font);
    font-style: $h2-style;
    font-weight: $h2-weight;
    font-variant: $h2-variant;
    text-transform: $h2-transform;
    text-decoration: $h2-decoration;
}

(...)