css – SASS中的变量范围

前端之家收集整理的这篇文章主要介绍了css – SASS中的变量范围前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我想为变量定义一个全局值,然后为特定的选择器覆盖它.根据 SASS documentation,这应该是可能的.

Variables are only available within the level of nested selectors where they’re defined. If they’re defined outside of any nested selectors,they’re available everywhere.

然后,逻辑将声明“绿色”和“红色”作为$text-color的值仅在其各自的嵌套选择器中可用,并且$text-color在其他任何地方调用时将采用值“blue”,例如在.foo内.

$text-color: blue;

.green {
    $text-color: green;
    color: $text-color;
}

.red {
    $text-color: red;
    color: $text-color;
}

.foo {
    color: $text-color;
}

但是,情况并非如此,上述SASS编译为:

.green {
    color: green;
}

.red {
    color: red;
}

.foo {
    color: red;
}

任何理解这一点的帮助都会很有帮助.

解决方法

这是因为一旦您将变量指定为全局变量,该变量的所有进一步赋值也将全局完成.如果你想在那之后使它成为本地,你可以做$local-text-color:$text-color;然后着色:$local-text-color;

猜你在找的CSS相关文章