0

less の mixin に問題があります。

持っているファイルが少なくなりました。

.gradient(@startColor, @endColor) {
  background: @startColor;
  background: linear-gradient(to bottom, @startColor 0%,@endColor 100%); 
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{startColor}', endColorstr='@{endColor}',GradientType=1 );  
}

#nav {
  .gradient(#fff,#e2ebef);
}

.btn {  
  .gradient(#f2f2f2, #e4e4e4);
}

コンパイルした後、私はこれを取得します:

#nav {
  background: #ffffff;
  background: linear-gradient(to bottom, #ffffff 0%, #e2ebef 100%);
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e2ebef', GradientType=1);
}
.btn {
  background: #f2f2f2;
  background: linear-gradient(to bottom, #f2f2f2 0%, #e4e4e4 100%);
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e2ebef', GradientType=1);
}

.btn のフィルターに #nav と同じ色があるのはなぜですか? グーグルで解決策を探しましたが、この問題を解決するものは見つかりませんでした。

だから...生成されたcssファイルに手動で色を貼り付ける以外の解決策はありますか?

4

1 に答える 1

0

フィルター プロパティを次のように変更します。

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

これにより、フィルタ プロパティの無意味な部分の多くが自動的にエスケープされ、その文字列内の変数が正しく出力されるようになります。

于 2013-03-07T20:31:52.567 に答える