4

刚从LESS切换,发现在SASS中所有变量都在全局中。因此,要为特定块定义特殊变量,我需要编写类似$words-that-describe-particular-block-padding: 10px;.

在所有评论中,作者都​​认为 SASS 比 LESS 更先进,因为它功能丰富,但实际上缺少命名空间这样简单的东西会扼杀所有使用它的经验。

为什么做出这个设计决定?
我错了,因为我失踪了,全局变量更好吗?

更新:
SASS:

$var: 1px;
#id1 {
$var: 2px;
width: $var;
}
#id2 {
width: $var;
}

较少的:

@var: 1px;
#id1 {
@var: 2px;
width: @var;
}
#id2 {
width: @var;
}

尝试使用此在线编译器的示例:

4

1 回答 1

15

这并不完全正确。如果您运行以下代码:

.header {
   $color: #000;
   background: $color;
}
.footer {
   background: $color;
}

你会得到

Sass Error: Undefined variable: "$color".

因此,颜色变量根本不是全局变量。它仅在其定义的上下文中可用。

但是,SASS 或 LESS 有很多限制。如果您对他们提供的东西不满意,我建议您检查一下

于 2013-09-21T20:03:04.277 回答