SASS和两个EM单元的简单数学(加法)

时间:2013-11-21 22:48:56

标签: css sass compass-sass

无论出于何种原因,我都无法直接在SASS中获得简单的数学函数。我有一种情况,我希望将沟槽宽度的两倍加到我已在其他地方定义的宽度。两个宽度都在EMS中,但似乎我正在做的添加将它们视为字符串。以下是我尝试过的一些事情:

$width: 18.75em; /* 300px */
$grid-spacing: 2em; 

.column { margin-right: $width + $grid-spacing*2; }

.column { margin-right: 18.75em2em; }

中的结果
.column { margin-right: $width + ($grid-spacing*2); } 

.column { margin-right: 18.75em2em; }

中的结果
.column { margin-right: $width + #{$grid-spacing*2}; } 

.column { margin-right: 18.75em + 2em; }

中的结果
.column { margin-right: #{$width + #{$grid-spacing*2} }; 

.column { margin-right: 18.75em + 2em; }

中的结果
.column { margin-right: #{$width} + #{$grid-spacing*2}; }

.column { margin-right: 18.75em + 2em; }

中的结果

那我在这里错过了什么? According to an issue on the SASS Github,在使用数学之前,我不应该依赖于清除值的单位。我认为问题是+运算符用于连接和数学,这可能就是为什么我的值被视为字符串而不是可以加在一起的数字。

思考?

1 个答案:

答案 0 :(得分:-1)

重新Sass ChangeLog,v3.2.8修复了可能导致问题的一些问题。因此,请尝试更新您的Sass版本:

gem install sass

如果在sass -v时没有为您提供版本3.2.12,请卸载并重新安装Sass:

sudo gem uninstall -Iax sass
sudo gem install sass --pre

您的示例运行正常,并编译为:

.column {
  margin-right: 22.75em;
}

示例:http://sassmeister.com/gist/7780591