css如何设置透明度

css如何设置透明度

今天面试遇到了一个之前写css样式时没太注意的问题,关于css如何设置透明度。两种方法如下:
css设置透明度的方法:1、使用rgba()设置颜色透明度,语法“background:rgba(R,G,B,A)”;2、使用opacity属性设置背景透明度,语法“opacity: 透明值;”,取值范围“0.0~1.0”。
一、css rgba()设置颜色透明度

语法:rgba(R,G,B,A);
RGBA 是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha(不透明度)这几个单词的缩写。RGBA 颜色值是 RGB 颜色值的扩展,带有一个 alpha 通道 - 它规定了对象的不透明度。

rgba()里的值的介绍:

R:红色值。正整数 (0~255)

G:绿色值。正整数 (0~255)

B:蓝色值。正整数(0~255)

A:透明度。取值0~1之间

rgba()只是单纯的可以设置颜色透明度,这样在页面的布局中有很多应用。比如说:让背景出现透明效果,但上面的文字不透明。

<div class="demo">
  <div class="demo1">背景色不透明,文字不透明!</div>
  <div class="demo2">背景色半透明,文字不透明!</div>
  </div>
.demo {
      width: 350px;
      height: 300px;
      margin: 50px auto;
      //background: blueviolet;
    }
    .demo1 {
      background: rgba(255, 0, 0, 1);
      width: 120px;
      height: 120px;
      margin: 10px;
      float: left;
    }

    .demo2 {
      background: rgba(255, 0, 0, 0.5);
      width: 120px;
      height: 120px;
      margin: 10px;
      float: left;
    }

在这里插入图片描述
上例中,设置的颜色值是一样的,只是透明度不同。这样看不出来有除了颜色之外的不同,我们在父容器demo上也设置一个背景色,这样的效果图:
在这里插入图片描述
可以看出:第一个盒子(demo1)没有设置透明度,红色完全把下面盒子(demo)的颜色给覆盖住了;第二个盒子(demo2)设置了透明度,使得颜色半透明,没有把下面盒子(demo)的颜色给完全覆盖,而是混合显示了。
二、css opacity属性设置背景透明度

语法:opacity: value ;
value :指定不透明度,从0.0(完全透明)到1.0(完全不透明)。

opacity属性具有继承性,会使容器中的所有元素都具有透明度;

.demo {
      width: 350px;
      height: 300px;
      margin: 50px auto;
      background: blueviolet;
    }
    .demo1 {
    opacity: 1;
      width: 120px;
      height: 120px;
      margin: 10px;
      float: left;
      background: yellow;
    }

    .demo2 {
      opacity: 0.5;
      width: 120px;
      height: 120px;
      margin: 10px;
      float: left;
      background: yellow;
    }
  <div class="demo">
  <div class="demo1">背景色不透明,文字不透明!</div>
  <div class="demo2">背景色透明,文字也透明!</div>
  </div>

效果图:
在这里插入图片描述
opacity:0.5;使得demo2容器的所以元素都呈现半透明。

总结: rgba()方法与opacity方法虽然都可以实现透明度效果,但rgba()只作用于元素的颜色或其背景色(设置了rgb()透明度元素的子元素不会继承其透明效果);而opacity具有继承性,既作用于元素本身,也会使元素内的所有子元素具有透明度。

参考:https://m.php.cn/article/473486.html

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值