微信小程序图片使用filter将彩色图片变成黑白以后,border-radius失效的解决办法

使用css的filter将彩色图片亮度降低之后,设置的border-radius会出现失效不起作用的情况
需求:用户在线头像为原始的彩色图片,离线将用户头像改为黑白色

原来的写法:

<image src="{{item.type=='add' ? 'http://h5.nn.w293.cn/ui/map/addMember.png' : item.iconPath}}" class="h40 w40 b-r100 bx {{item.online==0 ? ' unOnline' : ''}}" style="{{item.type!='add'&& currencyUserId==item.id ? 'border:2px solid #1CA2FC':''}};"></image>

发现class b-r100也就是border-radius:100px失效

改进方法:在image标签外面套一层view,在view上面降低暗度,这样圆角就有效果了

 <view class="h40 w40 {{item.online==0 ? ' unOnline' : ''}}">
      <image src="{{item.type=='add' ? 'http://h5.nn.w293.cn/ui/map/addMember.png' : item.iconPath}}" class="h40 w40 b-r100 bx" style="{{item.type!='add'&& currencyUserId==item.id ? 'border:2px solid #1CA2FC':''}};"></image>
</view>

css

.unOnline{
    filter: grayscale(100%); 
   -webkit-filter: grayscale(100%);
   /* -webkit-filter: brightness(0.30);
   filter: brightness(0.30); */
}

或者:给image的父元素即view使用border-radius,image设置filter

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值