【发布时间】:2014-04-02 04:08:24
【问题描述】:
在lesscss中,我可以像这样编写mixin,这样使用一个参数调用.myMixin(@a)使用第一个mixin,使用两个参数调用它.myMixin(@a, @b)使用第二个版本的mixin。
.myMixin(@paramOne) {
// do something with the single-parameter version of mixin
}
.myMixin(@paramOne, @paramTwo) {
// do something with the two-parameter version of mixin
}
我如何在 sass 中做同样的事情? 或者在 sass 世界中是否有更好的方法来实现这一点?
【问题讨论】:
-
我也很想发表我的看法 :) 但是对于这个项目,
sass是首选技术,我无法改变它。 -
了解您要解决的问题需要 2 个具有相同名称和不同参数的 mixin 会很有帮助。
-
这对于边距、内边距和任何 css 属性很有用,让您可以在普通 css 中使用多个参数定义它们。例如,
margin: 5px与margin: 5px 10px。 -
您可以在参数中传递一个列表并在您的 mixin 中执行此检查以了解该参数是单个值还是列表:
@if type-of( $param1 ) == list -
@bejonbee 既然可以拨打
foo(5px 10px),为什么还要拨打foo(5px, 10px)?听起来您正在尝试解决错误的问题。