Css SASS中变量的开关值
我想在SASS中这样做: 我没有错,它编译成功了。但是当我检查我的页面时,$currentColor的值是$RED,即使我不在body.page contribution 所以,我不知道SASS是否处理不了,或者我是否犯了一个大错误Css SASS中变量的开关值,css,sass,Css,Sass,我想在SASS中这样做: 我没有错,它编译成功了。但是当我检查我的页面时,$currentColor的值是$RED,即使我不在body.page contribution 所以,我不知道SASS是否处理不了,或者我是否犯了一个大错误 谢谢。您正在声明一个具有全局作用域的Sass变量,因此每一行都在修改全局变量,就像在JavaScript中一样。 您可以使用@debug$currentColor在两行之间查看变量状态 您可能应该使用mixin来防止作用域问题,或者每次声明另一个具有本地作用域的变量
谢谢。您正在声明一个具有全局作用域的Sass变量,因此每一行都在修改全局变量,就像在JavaScript中一样。 您可以使用
@debug$currentColor代码>在两行之间查看变量状态
您可能应该使用mixin来防止作用域问题,或者每次声明另一个具有本地作用域的变量(尝试只删除$currentColor:null;
)删除行$currentColor:null代码>-无需在SASS中实例化超出其所需范围的变量
$GREEN: #57da99;
$HEADER_PURPLE: #8585ff;
$BLUEISH: #4478ff;
$RED: #ff475d;
$RED2: #ff445e;
body.page-about { $currentColor: $BLUEISH; }
body.page-browse { $currentColor: $GREEN; }
body.page-signup { $currentColor: $HEADER_PURPLE; }
body.page-login { $currentColor: $HEADER_PURPLE; }
body.page-contribute { $currentColor: $RED; }
好的,记录在案。这是不可能的,因为在每一行中,都会在不同的作用域中创建一个新的$currentColor:/
$GREEN: #57da99;
$HEADER_PURPLE: #8585ff;
$BLUEISH: #4478ff;
$RED: #ff475d;
$RED2: #ff445e;
body.page-about { $currentColor: $BLUEISH; }
body.page-browse { $currentColor: $GREEN; }
body.page-signup { $currentColor: $HEADER_PURPLE; }
body.page-login { $currentColor: $HEADER_PURPLE; }
body.page-contribute { $currentColor: $RED; }