我有這樣的混入來處理簡單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);
如何跳過我的論點調用mixin時用這種方式?
PS如果你想知道關於$dir-webkit
爭論它是Webkit的,因爲它仍然沒有處理新的梯度語法(參見:http://generatedcontent.org/post/37949105556/updateyourcss3 - >新的漸變語法),方向必須的對面標準語法。
你嘗試過,傳遞null嗎? – markus
剛剛嘗試過,但使用'null'時不輸出任何值:'@include linear-gradient(#f60,#c00,null,null,true);'編譯爲:'background-image:-webkit線性梯度(,#ff6600,#cc0000); background-image:線性漸變(to,#ff6600,#cc0000);' –
試試這個http://bravedick.github.com/mooxins/ mixins。沒有即過濾器,順便說一句。 – bravedick