8

文字列に変数があることを.LESSに認識させるのに苦労しています。これが私の現在のコードです

filter: progid:DXImageTransform.microsoft.gradient(startColorstr='@{startColor}', endColorstr='@{endColor}', GradientType=0);

@startColor と @endColor は両方とも変数です。

文字列内に .LESS 変数を配置するにはどうすればよいですか?

編集:

私はそれを修正しました(私は思う..)これが私のために働く終了コードです

filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=@startColor, endColorstr=@endColor, GradientType=0);
4

2 に答える 2

21

試す:

filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='@{startColor}', endColorstr='@{endColor}', GradientType=0)"

チルダと引用符を使用すると、実際にこの状況でコードをエスケープできます。不透明度にも使用することになりますが、それはopacity関数名として単語を再利用したいからです。

filter: ~"alpha(opacity=@{op})! important" 
于 2012-08-20T14:08:45.777 に答える
3

~"filter" を使用してフィルター プロパティ全体をエスケープし、less 変数 ("@" 記号なし) を中括弧で囲むのが最善です。

色と不透明度の値をそれぞれ rgba と argb の値に適切に変換する mixin を作成しました。

.rgba(@color, @opacity) {
    @rgba: fade(@color, @opacity);
    @ieColor: argb(@rgba);

    background-color: @rgba;
    filter: ~"progid:DXImageTransform.Microsoft.gradient( startColorstr='@{ieColor}', endColorstr='@{ieColor}',GradientType=0)";
}
于 2013-06-21T06:40:51.997 に答える