父元素的透明度影响子元素之opacity

在前端开发中,当设置父元素 opacity 为0.2时,子元素也会继承此透明度。为避免子元素受影响,可以使用 rgba() 背景颜色替代。例如,将父元素的 `opacity: 0.2` 改为 `background: rgba(255,255,255,0.2)`,这样只会影响背景而不影响子元素的透明度。
摘要由CSDN通过智能技术生成

背景

在一次项目需求迭代中,「我的积分模块」要求实现如下UI:

 问题出现在「我的积分」模块的背景色,很显然,根据UI涉及,css样式中包含透明度:

opacity: 0.2;  // 透明度为0.2
background: #FFFFFF;
border-radius: 0px 39px 39px 0px;

此时,子元素不设置opacity,子元素也会有0.2的透明度。导致出现如下效果:

 

问题

设置父元素opacity:0.2,子元素不设置opacity,子元素也会有0.2的透明度。

设置子元素opacity:1,子元素的opacity:1也是在父元素的opacity:0.2的基础上设置的,因此子元素的opacity还是0.2。

解决方案

为父元素设置background: rgba(0,0,0,0.3)。代替opacity

border-radius: 0px 0.17rem 0.17rem 0px;
background: rgba(255,255,255,0.2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值