math与插值variables?
考虑下面的sass:
$font-size: 18; $em: $font-size; $column: $font-size * 3; // The column-width of my grid in pixels $gutter: $font-size * 1; // The gutter-width of my grid in pixels $gutter-em: #{$gutter / $em}em; // The gutter-width in ems. $column-em: #{$column / $em}em; // The column-width in ems; $foo = $gutter-em / 2; // This results in a value like "1em/2". :( $bar = ($gutter-em / 2); // this doesn't work either, same as above.
我怎样才能生成一个$foo
的$foo
,并且可以在其他expression式中进一步重用呢?
Sass不能对string进行arithemetic操作,只能连接。 当你使用插值时,你创build的是一个看起来像一个数字的string:
@debug type-of(#{10px}); // string @debug type-of('10px'); // string @debug type-of(unquote('10px')); // string @debug type-of(10px); // number
如果你想要一个数字,不要使用插值,不要使用引号。 为了将整数(例如10
)转换为长度(例如10px
),使用乘法:
$gutter-em: ($gutter / $em) * 1em; @debug type-of($gutter-em); // number