4

看看下面的例子:

@mixin placeholder ($color) {
  &.-moz-placeholder {
    color: $color;
  }

  &:-ms-placeholder {
    color: $color;
  }
}

@include placeholder(#999);

但相反,我想插入多个属性,而不仅仅是占位符样式中的颜色。像这样:

@mixin placeholder ($properties) {
  &.-moz-placeholder {
    $properties;
  }

  &:-ms-placeholder {
    $properties;
  }
}

@include placeholder(color: #999, text-shadow: 1px 0px 0px #000);

这可能吗,如果可以,怎么办?

4

2 回答 2

6

正如@dave 所建议的,您可以使用 Sass 的@content指令来完成此操作。这是使用该语法的示例:

@mixin placeholder {
  &.-moz-placeholder {
    @content;
  }

  &:-ms-placeholder {
    @content;
  }
}

@include placeholder {
  color: #999;
  text-shadow: 1px 0px 0px #000;
};

请注意,要传递内容块,请使用花括号而不是括号。您可以在SASS 文档中阅读更多内容。

于 2012-12-03T15:16:03.933 回答
0

你在寻找“将内容块传递给 Mixin”吗?

http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-content

于 2012-12-03T14:27:11.327 回答