単純なCSS3線形グラデーションを処理するためにこのミックスインがあります。
_@mixin linear-gradient($from, $to, $dir: bottom, $dir-webkit: top, $ie-filters: false) {
background-color: $to;
background-image: -webkit-linear-gradient($dir-webkit, $from, $to);
background-image: linear-gradient(to $dir, $from, $to);
@if $ie-filters == true and $old-ie {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($from)}', endColorstr='#{ie-hex-str($to)}');
}
}
_
_$dir
_は「方向」の略です。
_$ie-filters
_ 'true'にする必要があり、_$dir
_/_$dir-webkit
_のデフォルト値を変更する必要がない場合でも、それらを再宣言する必要がありますが、明らかにそれほどではありませんDRYそして最適なので、これを行う必要があります:
@include linear-gradient(#7a7a7a, #1a1a1a, bottom, top, true);
私がこれをしたいとき:
@include linear-gradient(#7a7a7a, #1a1a1a, true);
ミックスインを呼び出すときに、この方法で引数をスキップするにはどうすればよいですか?
PS _$dir-webkit
_引数について疑問がある場合は、新しいグラデーション構文をまだ処理しないため、Webkit用です(参照: http://generatedcontent.org/post/37949105556/updateyourcss =->新しいグラデーション構文)、方向は標準構文の反対である必要があります。
SASS 3.1以降、名前付き引数を渡してそれを行うことができます。
@include linear-gradient($from: #7a7a7a, $to: #1a1a1a, $ie-filters: true);
残りはデフォルトになります。