变量指向的SASS和LESS行为不同

时间:2018-02-08 15:26:13

标签: css twitter-bootstrap sass less

考虑到这个片段,想象一下可以通过@

将LESS或SASS改为$
$lol: 1px !default;
$lil: $lol;
$lol: 8px;

.gg{
  border-radius: $lil;
}

在SASS中,它编译为

.gg {
  border-radius: 1px;
}

在Less中编译为:

.gg {
  border-radius: 8px;
}

在我目前的情况下,我更喜欢LESS如何实现它,因为两个第一行在bootstrap lib中,第三行应该覆盖lil的值。

如何仅通过更改$lil变量来覆盖SASS中的$lol变量?

1 个答案:

答案 0 :(得分:1)

因为sass变量分配了!default参数,即使您稍后将其更改为8px,也不会将其分配给sass中的。

来自SASS文档的

  

如果尚未通过添加分配变量,则可以将其分配给变量   !default标志到值的结尾。这意味着,如果   变量已经分配给,它不会被重新分配,但是   如果它没有值,那么它将被赋予一个。