less中如何使用函数兼容ie中的opacity

在css中,我们经常需要使用opacity来设置某个dom的透明度,但是这属性在ie8中存在兼容性问题,我现在想写一个函数,方便同时兼容

.opacity(@num-opt) {
  opacity: @num-opt;
  filter: alpha(opacity = percentage(@num-opt)); //filter 过滤器   兼容IE678
}

具体调用时

.head-warp {
  // height: 50px;
  height: 50px;
  position: fixed;
  top: 0;
  z-index: 2;
  width: 100%;
  // background-color: rgba(255, 255, 255, .9);
  background-color: rgb(255, 255, 255);
  // opacity: 0.9;
  // filter:alpha(opacity=90); 
  .opacity(0.9);
  .shadow(2,2,10,@color-holder);
  .head-logo {
    img {
      height: 40px;
    }
  }
}

但是less编译的时候,一直报

clipboard.png

阅读 3.1k
1 个回答
.opacity(@number){
  /* older safari/Chrome browsers */
  -webkit-opacity: @number/100;
  /* Netscape and Older than Firefox 0.9 */
  -moz-opacity: @number/100;
  /* Safari 1.x (pre WebKit!) 老式khtml内核的Safari浏览器*/
  -khtml-opacity: @number/100;
  /* IE9 + etc...modern browsers */
  opacity: @number/100;
  /* IE 4-9 */
  filter:alpha(opacity=@number);
  /*This works in IE 8 & 9 too*/
  -ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=@number);
  /*IE4-IE9*/
  filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=@number);

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进