css中实现背景透明的三种方式

 3007

css中实现背景透明的三种方式


css中实现背景透明通常有如下3种方式,以下是这三种方式的不透明度为80%的写法:

css3的opacity:x,x 的取值从 0 到 1,如opacity: 0.8

css3的rgba(red, green, blue, alpha),alpha的取值从 0 到 1,如rgba(255,255,255,0.8)

IE专属滤镜 filter:Alpha(opacity=x),x 的取值从 0 到 100,如filter:Alpha(opacity=80)

一、css3的opacity

兼容性:IE6、7、8不支持,IE9及以上版本和标准浏览器都支持

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

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>背景透明度</title>
<style>
.demo{
    padding: 25px;
    background-color:#000000;
    filter:alpha(opacity:50); opacity:0.5;  -moz-opacity:0.5;-khtml-opacity: 0.5;
}
.demo p{
    color: #FFFFFF;
}
</style>
</head>
<body>
<div class="demo">
    <p>背景透明,文字也透明</p>
</div>
</body>
</html>

使用opacity后整个模块都透明了,效果如下:


css中实现背景透明的三种方式


那么使用opacity实现《背景透明,文字不透明》是不可取的。

二、css3的rgba

所谓RGBA颜色,顾名思意就是R+G+B+A的颜色,再具体点就是red+green+blue+alpha的颜色,翻译一下就是红+绿+蓝+Alpha透明的颜色。

background:rgba(200, 54, 54, 0.5);

其中,表示半透明度的0.5前面的0是可以省掉的,直接.5也是可以的。

兼容性:IE6、7、8不支持,IE9及以上版本和标准浏览器都支持

解决IE8浏览器不支持rgba的方法:

background:rgba(0,0,0,0.5); filter: 
progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F000000,endcolorstr=#7F000000);

使用说明:设置颜色的不透明度,一般用于调整background-color、color、box-shadow等的不透明度。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3的rgba</title>
<style>
.demo{
    padding: 25px;
    background-color:#000000;/* IE6和部分IE7内核的浏览器(如QQ浏览器)下颜色被覆盖 */
    background-color:rgba(0,0,0,0.2); /* IE6和部分IE7内核的浏览器(如QQ浏览器)会读懂,但解析为透明 */
}
.demo p{
    color: #FFFFFF;
}
</style>
</head>
<body>    
<div class="demo">
    <p>背景透明,文字也透明</p>
</div>
</body>
</html>

在background-color中使用rgba,标准浏览器中,背景透明,文字不透明,效果如下:


css中实现背景透明的三种方式


那么使用rgba实现背景透明,文字不透明是可取的。


TAG标签:
本文网址:https://www.zztuku.com/detail-7823.html
站长图库 - css中实现背景透明的三种方式
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐

    JS禁止F12和鼠标右键代码