微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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也有更好的支持评论和变量范围。

原文地址:https://www.jb51.cc/css/220093.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。