在搜索了@function和@mixin之间的差异后,我结束了这里。
使用@mixin优于@funcion,反之亦然。在什么情况下他们会有所不同,如何互换使用,请提供示例。
答案 0 :(得分:23)
函数特别有用,因为它们返回值。 Mixins与函数完全不同 - 它们通常只提供有价值的代码块。
通常情况下,您可能需要同时使用它们。
例如,如果我想创建long-shadow with SASS,我会调用这样的函数:
@function makelongshadow($color) {
$val: 0px 0px $color;
@for $i from 1 through 200 {
$val: #{$val}, #{$i}px #{$i}px #{$color};
}
@return $val;
}
然后用这个mixin调用哪个:
@mixin longshadow($color) {
text-shadow: makelongshadow($color);
}
它为我们提供了实际的代码。
它包含在元素中:
h1 {
@include longshadow(darken($color, 5% ));
}