LESSCSS方法与IE FIlter Alpha不透明CSS

前端之家收集整理的这篇文章主要介绍了LESSCSS方法与IE FIlter Alpha不透明CSS前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 LESSCSS.我试图创建一个不透明度的方法
.opacity (@opacity) 
{
    opacity: @opacity;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=(@opacity * 100))"; 
    filter: alpha(opacity = (@opacity * 100));
}

所以,如果我调用它使用:

h1 {
  .opacity(.5);
}

我想要输出

h1 {
  opacity: .5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
  filter: alpha(opacity = 50);
}

但是,相反,LESS抛出的错误

Expected '}' on line 30 in file '/Content/styles/style.less.css':
 [29]:     -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=(@opacity * 100))"; 
 [30]:     filter: alpha(opacity = (@opacity * 100));
       ----^
 [31]: }

我究竟做错了什么?

解决方法

在无点,做这个。 (我不会推荐脚本标签 – 它们是丑陋的,语言特定的,不支持dotless)。
.opacity (@opacity) {
    @opacityPercentage: @opacity * 100;
    opacity: @opacity;
    -ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=(@{opacityPercentage}))"; 
    filter: ~"alpha(opacity = (@{opacityPercentage}))";
}

在无点1.2.3(当它在几个星期释放,或github头,你应该能够这样做… …

.opacity (@opacity) {
    @opacityPercentage: @opacity * 100;
    opacity: @opacity;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=(@opacityPercentage)); 
    filter: alpha(opacity = (@opacityPercentage));
}

和re:Mathletics的评论,dotless不是“最坏的编译器”..它将less.js匹配到1.1.5,很快就是1.2.2,许多针对less.js的600错误被固定在无点。你可能在8个月前使用dotless,但事情的变化和错误是固定的… dotless也有更好的支持评论和变量范围。

猜你在找的CSS相关文章