我想知道以下语法对于Sass是否正确:
@function foo($param)
{
@return $param;
}
@mixin bar($paramOne, $paramTwo: foo($paramOne))
{
test: $paramTwo;
}
#test { @include bar(foobar); }
预期回报:
#test { test: foobar; }
在为SASS / SCSS使用以下$paramOne looses it's value时,似乎不起作用(如PHPSASS compiler。)
这是正确的语法?或者我错过了什么?
它与_vertical_rhythm.scss中的情况非常相似:
@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) {
答案 0 :(得分:0)
似乎这种语法完全有效,因为cimmanon将它发布在sassmeister gist(谢谢)上,它使用的是Ruby版本的解析器。其他一些解析器可能会遇到问题(在这种情况下为phpsass),具体取决于他们如何实现该逻辑。
如果出现问题,请确保您使用的是正确的解析器scss
语法,而不是sass
语法(wiki,例如new SassParser(['syntax' => 'scss'])
)。请参阅:What's the difference between SCSS and Sass?
请注意,在垂直节奏的Compass(开源CSS创作框架)中使用了相同的语法:
@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size)
但在recent version只是:
@mixin adjust-font-size-to($to-size, $lines: auto, $from-size: $base-font-size)