我終於咬住了子彈並開始使用SCSS。爲什麼我不能更快地做到這一點?總之,在整個項目中,我使用水平線性漸變,所以我創造了這個混入:在SCSS自動切換webkit前綴的線性漸變方向
@mixin linear-gradient($direction,$left-color,$right-color) {
background: $left-color; // For browsers that do not support gradients
background: -webkit-linear-gradient($direction,$left-color,$right-color); // Safari 5.1-6 note direction is opposite
background: -o-linear-gradient($direction,$left-color,$right-color); // Opera 11.1-12
background: -moz-linear-gradient($direction,$left-color,$right-color); // Fx 3.6-15
background: linear-gradient(to $direction,$left-color,$right-color); // Standard
}
此作品一種享受,但是,你會發現,WebKit的前綴線只需使用$方向。事實上,它應該與所指定的方向相反,以獲得一致的結果。因此,在webkit行中指定左側,方向實際上是右側。
我見過很多更復雜的方法來將總體解決方案應用於背景漸變,但這對我的項目來說似乎沒有必要。
有人能告訴我如何正確地寫一些類似於@if @else語句的東西,它會自動將方向從左向右轉換,反之亦然?
感謝@ norin89的迴應,我想我正在尋找的是如何編寫if/else來處理我的示例的具體答案。我知道我需要一些說_if方向剩下,然後顯示right_。我只是不確定如何寫這個。我會看看autoprefixer,聽起來很有希望。 – morgyface
請看我對答案的更新。 – norin89
這正是我要找的: '$ legacy-direction:if($ direction == left,right,left);' 非常感謝@ norin89。 – morgyface