SCSS变量范围

时间:2012-09-11 08:30:13

标签: sass

我正在将样式表从 LESS 转换为 SCSS ,我对我在变量范围内看到的东西感到困惑。转载了一个简单的例子:

$my-color: #000;

#logo {
    $my-color: #555;
    color: $my-color;
}

a {
    color: $my-color;
}

转换为以下CSS:

#logo {
    color: #555555;
}

a {
    color: #555555;
}

LESS 中的等效构造会导致a color值为#000,因为#logo范围内的变量声明将覆盖更一般的但是仅在该范围内。变量范围不像 SCSS 那样工作吗?有没有办法实现同样的目标?

1 个答案:

答案 0 :(得分:10)

阅读Sass variable default scope的答案,似乎变量在 SCSS LESS 中的工作方式不同。

在这种情况下,$my-color#logo的定义会更改全局变量的值,而在 LESS 中,它将被视为该全局变量的块本地覆盖

我想我必须以不同的方式构建结构才能获得相同的结果。