css - 根据 body 类别更改所有变量值

标签 css sass

我正在研究基于主题的本地化。为此,我正在为每个本地化的 body 标签上类(class)。 我需要根据该类更改所有变量值 更多了解

$a: #000;
$b= Arial;

if body has class Australia then
$a: #ff0000;
$b: 'Roboto';

请不要仅使用scss编写js代码

最佳答案

使用 @import 和 !default 变量

// –––––––––––––––––––––––––––––––––––––– 
// _style.scss 
// underscore added to prevent compilation 
// ––––––––––––––––––––––––––––––––––––––

$color      : red   !default;
$font-family: Arial !default; 

.foo { color: $color; }
.bar { font-family: $font-family; }



// ––––––––––––––––––––––––––––––––––––––
// style.scss (compile file) 
// ––––––––––––––––––––––––––––––––––––––
// redefine variables
$color: blue;
$font-family: Roboto;

// add wrapper if needed (will be added to all selectors)
.australia {
    @import '_style.scss';
}

关于css - 根据 body 类别更改所有变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42250583/

相关文章:

html - 如何使第二级菜单的最后一个元素下拉?

javascript - 如何使用 CSS、Javascript 或 Cookie 禁用后退按钮上的动画回复?

css - 派生的 SASS 类

css - 我们可以在已经使用 LESS 作为 css 预处理器的 Angular 1.6.6 中使用 SCSS css 预处理器吗?

css - 如何在git中处理scss和css?

javascript - 更新编号使用 JQuery 的 div 元素列表中的类别

javascript - 协助使用 Jquery 将一个 div 更改为另一个 div

Jquery:在每第 n 个像素向下滚动后显示 <ul> ("Lazy Loading")

css - 如何在extjs中正确指定主题变量?

vue.js - 在 Vue CLI 3 中包含 'normalize-scss'