CSS实现背景透明,文字不透明

平时我们实现透明的css方法通常有以下3种方式:

  1. css3的opacity:x,x 的取值从 0 到 1,如opacity: 0.8
  2. css3的rgba(red, green, blue, alpha),alpha的取值从 0 到 1,如rgba(255,255,255,0.8)
  3. IE专属滤镜 filter:Alpha(opacity=x),x 的取值从 0 到 100,如filter:Alpha(opacity=80)

使用opacity:x时会出现设置opacity元素的所有后代元素会随着一起具有透明性,所以一般用于调整图片或者模块的整体不透明度。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>opacity</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .box{
            padding: 50px;
            width: 300px;
            background:red;
        }
        .demo{
            padding: 25px;
            width: 200px;
            text-align: center;
            background-color:#000000;
            opacity: 0.2;
        }
        .demo p{
            color: #FFFFFF;
        }
    </style>
</head>
<body>
<div class="box">
    <div class="demo">
        <p>背景透明,文字也透明</p>
    </div>
</div>
</body>
</html>

结果如下:
这里写图片描述

所以使用opacity实现背景透明,文字不透明的需求是不行的。

rgba(red, green, blue, alpha)一般用于设置颜色的不透明度,用来调整background-color、color、box-shadow等的不透明度

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>opacity</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .box{
            padding: 50px;
            width: 300px;
            background:red;
        }
        .demo{
            padding: 25px;
            width: 200px;
            text-align: center;
            background-color:#000000;
            background-color:rgba(0,0,0,0.2);
        }
        .demo p{
            color: #FFFFFF;
        }
    </style>
</head>
<body>
<div class="box">
    <div class="demo">
        <p>背景透明,文字不透明</p>
    </div>
</div>
</body>
</html>

结果如下:
这里写图片描述

这样就实现了我的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值