opacity 和 rgba() 在一定程度上是没什么区别。
1、opacity
取值在0到1之间,0表示完全透明,1表示完全不透明。
2、rgba
rgba语法:
rgba()和opacity都能实现透明效果,主要区别有以下2点:
比如,我们写透明的黑色部分都是用opcity(0.3),但这带出来一个问题就是如果你在这一div上写字的话,然后那个字体也会变成透明色。所以我们采取rgba的样式写,前面三个数字分别对应r,g,b,的三种颜色,第四位的数字对应的是透明的系数。
在一些网站的登录页面上,经常可以发现,一张图片叠加在另一张图片上,底层的图片若隐若现,利用css中的透明属性opacity可以实现这种效果,下面就简单介绍一下怎么写代码
新建一个HTML文件,下载两张图片,如下图,放在一个文件夹中,避免出现路径问题
代码示例如下,主要利用css伪元素::before,F_box为前置层,浮于背景上方
下面简单分解下代码,分为1,2,3,第一部分,设置背景图片001.jpg;第三部分,固定前置层图片002.jpg的位置;第二部分,利用伪元素::before,设置属性opacity来调节透明度,取值为0-1,0是全透明,即看不见的效果,1是全不透明
代码示例中,设置opacity为0.5,半透明状态,实际页面效果如下
怎样在CSS样式中设置背景的透明度,下面一个具体的实例。把类为box的层设为透明。
<div class="box"></div>
<style>
.box{width:300pxheight:200pxmargin:0 autoboxder:1px solid #cccbackground:#000filter:alpha(opacity:30)opacity:0.3 -moz-opacity:0.3-khtml-opacity: 0.3}
</style>
其中background:#000filter:alpha(opacity:30)opacity:0.3为关键代码,当opacity值为1时,表示完全不透明,为0时表示完全透明。
其关的属性介绍如下:
opacity: 0.3;这是“最重要的”,因为它是在CSS的现行标准。这将在Firefox,Safari和Opera的大多数版本的工作。这将是你所需要的一切如果所有的浏览器都支持目前的标准。当然是他们不会错。
filter:alpha(opacity=30)这一个是针对IE浏览器
-moz-opacity:0.3你需要这一个支持老版本的Mozilla浏览器如Netscape Navigator。
-khtml-opacity: 0.3这是旧版本的Safari(1.×)当渲染引擎是使用仍被称为kthml,而不是目前的WebKit。