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 に答える