CSS中设置父元素透明度不影响子元素透明度(个人笔记)

html-css06

CSS中设置父元素透明度不影响子元素透明度(个人笔记),第1张

css中经常会遇到设置了父元素的透明度后,会直接影响到子元素的透明度。

例如:

设置父元素opacity:0.5,子元素不设置opacity,子元素会受到父元素opacity的影响,也会有0.5的透明度。

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

解决方法:

为父元素设置background: rgba(0,0,0,0.5)时设置透明度,不再加opacity属性。

在一些网站的登录页面上,经常可以发现,一张图片叠加在另一张图片上,底层的图片若隐若现,利用css中的透明属性opacity可以实现这种效果,下面就简单介绍一下怎么写代码

01

新建一个HTML文件,下载两张图片,如下图,放在一个文件夹中,避免出现路径问题

02

代码示例如下,主要利用css伪元素::before,F_box为前置层,浮于背景上方

03

下面简单分解下代码,分为1,2,3,第一部分,设置背景图片001.jpg;第三部分,固定前置层图片002.jpg的位置;第二部分,利用伪元素::before,设置属性opacity来调节透明度,取值为0-1,0是全透明,即看不见的效果,1是全不透明

04

代码示例中,设置opacity为0.5,半透明状态,实际页面效果如下