通过另一个Mixin参数值包含SASS Mixin

时间:2012-04-11 06:54:42

标签: css sass mixins

我有这个:

enter image description here

正如你所看到的,我目前有条件包含按钮样式mixins,无论如何我可以自动包含一个吗?例如:

@mixin button($color)
  @include button-#{$color}

1 个答案:

答案 0 :(得分:1)

看到你上面的标记,我假设你已经尝试过插值而且它无法正常工作。只是一个想法 - 在这种情况下,extend不是更合适吗?即,使用某个圆度扩展单个button-* mixins。

话虽这么说,你已经有了$color参数化按钮,但是你要退一步,增加一个额外的复杂性,包括根据变量值包含一个预定义的mixin!我假设您已经开始使用button-blue ... button-tree mixins,然后需要进行$circle切换?

如果您实际上在button-blue mixin之外使用button-tree ... button,我会说拥有“多个ifs”是最可维护的切换逻辑抽象一次到函数指令,如

@function include-button-mixin($color) {
  @if $color == blue
    @include button-blue
  ...
}