У меня есть этот миксин для обработки простого линейного градиента 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
'истинным' и мне не нужно менять $dir
/ $dir-webkit
значения по умолчанию, мне все равно нужно повторно объявить их, что, очевидно, не очень СУХОЕ и оптимально, поэтому мне придется сделать это:
@include linear-gradient(#7a7a7a, #1a1a1a, bottom, top, true);
Когда я просто хочу это сделать:
@include linear-gradient(#7a7a7a, #1a1a1a, true);
Как мне таким образом пропустить аргументы при вызове миксина?
PS, если вас интересует аргумент $dir-webkit
, это для Webkit, поскольку он все еще не обрабатывает новый синтаксис градиента (см .: http://generatedcontent.org/post/37949105556/updateyourcss3 -› Новый синтаксис градиента), направление должно быть противоположным стандартному синтаксису.
null
:@include linear-gradient(#f60, #c00, null, null, true);
компилируется в:background-image: -webkit-linear-gradient(, #ff6600, #cc0000); background-image: linear-gradient(to, #ff6600, #cc0000);
- person Chris Pearce   schedule 21.01.2013