我在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中的颜色相同?我用google搜索,但没有找到解决这个问题的任何东西。
那么......除了在生成的css文件中手动粘贴颜色之外还有其他解决方案吗?
答案 0 :(得分:0)
将filter属性更改为:
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr='@{startColor}', endColorstr='@{endColor}', GradientType=1)";
这会自动转义filter属性中的大部分废话,并允许正确输出该字符串中的变量。