CSS只改变背景透明度,不改变子元素透明度

一般情况下,我们可以使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即使对子元素重新定义也没有用,例如:

<div style="opacity:0.4; background-image:url(...);">
 <div style="opacity:1.0;">
  显示文字
 </div>
</div>

文字元素的透明度也会是0.4。

于是想一想,如果有方法只改变背景的透明度就能解决此问题了。

方法1:使用一张透明的图片做背景可以达成效果,但是有没有更简单的方法呢?

方法2:使用RGBA。

例如:

<div style="background-color:rgba(0, 0, 0, 0.4)">
   <div>
      显示文字
   </div>
</div>

相关推荐