2012-06-06 17 views
6

LightinやdarkenのようなものをCSSコードに適用することでLess mixinグラデーションの色を変更することが可能かどうかは疑問でしたか?ここでCSSグラデーション - Less Mixins

は少ないのmixinです:

.css-gradient(@from: #20416A, @to: #3D69A5) { 
    background-color: @to; 
    background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); 
    background-image: -webkit-linear-gradient(top, @from, @to); 
    background-image: -moz-linear-gradient(top, @from, @to); 
    background-image: -o-linear-gradient(top, @from, @to); 
    background-image: -ms-linear-gradient(top, @from, @to); 
    background-image: linear-gradient(top, @from, @to); 
} 

そして、私はこのような何かをしたいと思いますレスファイル内の:別がある場合

#div { 
    width:100px; 
    height:100px; 
    .css-gradient (darken, 10%); 
} 

はこれが可能であれば知っているか、しないでください私はこれを行う必要があります。

+0

私はあなたが暗く機能を実現したいものをかなりわからないんだけど、多分あなたはより少ないサンプルと対応するCSSコードを提供することができます。それは物事をより明瞭にするでしょう。 – topek

答えて

13

私はそうのようにこれを行うだろう:もちろん

.css-gradient(darken(#20416A,10%),darken(#3D69A5,10%)) 

をあなたも行うことができます:

.css-gradient(@from: #20416A, @to: #3D69A5) { 
    background-color: @to; 
    background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); 
    background-image: -webkit-linear-gradient(top, @from, @to); 
    background-image: -moz-linear-gradient(top, @from, @to); 
    background-image: -o-linear-gradient(top, @from, @to); 
    background-image: -ms-linear-gradient(top, @from, @to); 
    background-image: linear-gradient(top, @from, @to); 
} 
.css-gradient(darken,@amount: 10%, @from: #20416A, @to: #3D69A5){ 
    .css-gradient(darken(@from,@amount),darken(@to,@amount)); 
} 

そしてちょうどそれを呼び出す:

.css-gradient(darken,10%); 

か:

.css-gradient(#20416A, #3D69A5); 

か:

.css-gradient(darken,5%,#00ff00,#ff0000); 
+0

ありがとうございます。これは完全に動作します! – user965879