我正尝试在 LESS 中执行此操作(使用 JS 版本):-
.gradient-horizontal (@from, @to, @fallback)
{
background: -webkit-gradient(linear, left top, right top, from(@from), to(@to)); /* for webkit browsers */
background: -moz-linear-gradient(left, @from, @to); /* for firefox 3.6+ */
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='@from', endColorstr='@to'); /* IE6 & IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='@from', endColorstr='@to')"; /* IE8 */
}
它似乎适用于 Firefox 和 Chrome,如果我将 IE 行中的 @from 和 @to 替换为文字颜色,它就可以工作,但正如您在上面看到的那样,看起来 @from 和 @to 正在当被单引号包围时,不加修饰地通过。但是,没有它们,IE 代码将无法工作。
有解决办法吗?
最佳答案
这似乎有效:-
.gradient-horizontal (@from, @to, @fallback)
{
background: @fallback; /* for non-css3 browsers */
background: -webkit-gradient(linear, left top, right top, from(@from), to(@to)); /* for webkit browsers */
background: -moz-linear-gradient(left, @from, @to); /* for firefox 3.6+ */
filter: ~"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='@{from}', endColorstr='@{to}')"; /* IE6 & IE7 */
-ms-filter: ~"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='@{from}', endColorstr='@{to}')"; /* IE8 */
}
关于internet-explorer - LESS mixin 中参数的单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732760/