0

コンパス シャドウ ミックスインを使用している要素がいくつかあります。引数は同じなので、変数に入れたいと思います。これが変数引数の目的だと思いましたが、次のように機能しないため、明らかに何か間違っています。

// my shadow style
$shadow: #000000, 0px, 0px, 20px;

.list {
    @include single-box-shadow($shadow...);
}

これは、

.list {
    @include single-box-shadow(#000000, 0px, 0px, 20px);
}

しかし、2 番目の例は機能しますが、最初の例は次のようにコンパイルされます。

-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;

ここで何が間違っていますか?

Compass のバージョンは 0.12.2 で、SASS は 3.2.3 です。

編集:私は yeoman でコンパイルしていますが、別の (古い) バージョンを使用している可能性がありますか? どうすればそれを確認できますか?

4

1 に答える 1

0

mixinはsingle-box-shadow可変引数を使用しません (参照: http://compass-style.org/reference/compass/css3/box_shadow/#mixin-single-box-shadow )。

変数を使用して mixin を呼び出すと、基本的には次のようになります。

@include single-box-shadow((#000000, 0px, 0px, 20px));

リスト全体が mixin: の最初の引数として渡されています$color。特定の box-shadow 値を再利用したい場合はbox-shadow、スペースで区切られたリストで mixin を使用するか、独自のカスタム box-shadow mixin を作成してください。

于 2013-01-10T18:09:31.583 に答える