CSS3 rgba用法

CSS 中的颜色有三种定义方式:使用颜色方法(RGB、RGBA、HSL、HSLA),十六进制颜色值和预定义的颜色名称。

RGBA 是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha(不透明度)三个单词的缩写。RGBA 颜色值是 RGB 颜色值的扩展,带有一个 alpha 通道 - 它规定了对象的不透明度。

基本语法:

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

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

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

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

浏览器的兼容性:

RGBA 颜色值得到以下浏览器的支持:IE9+、Firefox 3+、Chrome、Safari 以及 Opera 10+。

插一句话: http://caniuse.com/ 大家可以去这个网站查找你所要用的属性在浏览器中的兼容问题

如果说 RGBA 是制作透明色,大家不由会想起 opacity 这个属性, opacity在我们制作背景色时经常用到。但是两者之间到底有什么区别,那就看下面rgba和 opacity的对比实例。

HTML 代码:

 1    <div class="example">
 2        <p>opacity效果</p>
 3        <ul class="ul1">
 4          <li class="opacity1">100%</li>
 5          <li class="opacity2">80%</li>
 6          <li class="opacity3">60%</li>
 7          <li class="opacity4">40%</li>
 8          <li class="opacity5">20%</li>
 9          <li class="opacity6">0</li>
10        </ul>
11        <br />
12        <p>CSS3的rgba效果</p>
13        <ul class="ul2">
14          <li class="rgba1">1</li>
15          <li class="rgba2">0.8</li>
16          <li class="rgba3">0.6</li>
17          <li class="rgba4">0.4</li>
18          <li class="rgba5">0.2</li>
19          <li class="rgba6">0</li>
20       </ul>
21      </div>

Opacity样式:

 1 .ul1 li{
 2      background: red;
 3   }
 4   li.opacity1{
 5     opacity: 1;
 6   }
 7   li.opacity2{
 8     opacity: 0.8;
 9   }
10  li.opacity3{
11    opacity: 0.6;
12  }
13  li.opacity4{
14    opacity: 0.4;
15  }
16  li.opacity5{
17    opacity: 0.2;
18  }
19  li.opacity6{
20    opacity: 0;
21  }

注释:IE8 以及更早的版本支持替代的 filter 属性。例如:filter:Alpha(opacity=50)。在这里我就不加了

RGBA样:

 1 li.rgba1{
 2     background: rgba(255,0,0,1);
 3   }
 4   li.rgba2{
 5     background: rgba(255,0,0,0.8);
 6   }
 7   li.rgba3{
 8     background: rgba(255,0,0,0.6);
 9   }
10  li.rgba4{
11    background: rgba(255,0,0,0.4);
12  }
13  li.rgba5{
14    background: rgba(255,0,0,0.2);
15  }
16  li.rgba6{
17    background: rgba(255,0,0,0);
18  }

效果图:

效果中我们可以看出,他们相同之处就是背景色完全是一样的,但是 ul1 后代元素会随着一起具有透明性,所以 ul1 中的字随着透明值下降越来越看不清楚,而 ul2 不具有这样的问题,但是rgba在IE的兼容上不行,支持IE9+。Opacity 能实现透明,而且大多主流浏览器都支持,但是在 IE 下有点麻烦。

从我们上面的实例中我们也知道,RGBA 比元素设置 CSS 的透明度更好,因为单独的颜色可以在不影响整个元素的透明度,他不会影响到元素其他的属性,比如说边框,字体同时也不会影响到其他元素的相关透明度。

使用 Opacity 来做透明,在父元素中使用了 Opacity,那么其垢代元素都会受其影响.

为了更好的理解我们在这里来看一个使用 Opacity 的实例。首先来看 HTML:

1 <div class="div1">
2   <div class="bg">
3     <p>我是bg的后代元素</p>
4   </div>
5 </div>

在给他们添加相应的样式:

 1 .div1 {
 2   width: 200px;
 3   height: 100px;
 4   border: 1px solid #ccc;
 5   background: red;
 6   position: relative;
 7 }
 8 .bg {
 9   background: black;
10   opacity: 0.5;
11   filter:alpha(opaity=50);
12   width: 100%;
13   height: 50px;
14   position: absolute;
15   bottom: 0;
16   left: 0;
17 }
18
19 .bg p {
20   padding: 5px 10px;
21   color: white;
22 }

效果图:

从效果中我们明显的看出,这里和我们前面那个例子一样,名叫 bg 的 div 中设置了Opacity,造成其后代元素段落P的前景色也随着变了。接着再看rgba的效果

HTML代码:

1 <div class="div1">
2   <div class="bg">
3       <p>我是bg的后代元素</p>
4   </div>
5 </div>

样式:

1 .bg {
2    width: 100%;
3    height: 50px;
4    position: absolute;
5    bottom: 0;
6    left: 0;
7    background: rgba(0, 0, 0,0.5);
8 }

效果图:

只要在 bg 中添加一个 background:rgba(); 就能有上面那种效果了。从上面两个例子可以轻松的看出Opacity 与rgba 的区别

RGBA 不单可以应用在 background 上,我们还可以应用在只要设置了颜色的地方都可以使用,在这里简单的说一下几种:

第一种:字体颜色

HTML:

1 <p class="p1">改变字体颜色</p>
2 <p class="p2">改变字体颜色</p>

CSS样式:

1 .p1{
2   color: rgb(255,0,0);
3 }
4 .p2{
5   color: rgba(255,0,0,0.5);
6 }

效果图:

设置颜色的同时可以设置透明度

第二种边框色border-color

HTML:

1 <div class="div2"></div>

CSS样式:

1 .div2{
2   width: 100px;
3   height: 100px;
4   background: red;
5   border: 5px solid rgba(0,0,0,0.5);
6 }

效果图:

最后需要告诉大家的一点, RGBA 这种方法,目前只有在支持 RGBA 属性的浏览器才能正常显示,如果需要使用,请考虑这方面的显示差别。

时间: 2024-11-01 18:56:07

CSS3 rgba用法的相关文章

CSS3 RGBA等于RGB加上opacity吗?

在我们前端设计里有两篇教程: CSS3 RGBA colors使用说明 css3中opacity属性学习与实践,他们公别介绍了RGBA,RGB,opacity的用法,这里我们把这三个属性放在一起来考虑:CSS3 RGBA等于RGB加上opacity吗? 请别先回答,我们接下来分析分析. 以前我们经常会碰到这样一个问题,设置了一个div的opacity(透明度)以后,这个div层里的内容也跟着透明了,特别是文字,一透明就离我 们想要的效果差很远了,显示这不是我们需要的.以前我遇风这种情况通常是把透

CSS3 RGBA

前面我们一起探讨了一下CSS3 Gradient(css3 渐变),今天我们一起来探讨一下CSS3中的RGBA.RGB对于大家来说一点不陌生,他就是红色R+绿色G+蓝色B,那现在我们所说的RGBA又是什么呢?说得简单一点就是在RGB的基础上加进了一个通道Alpha.从而形成了我们今天需要讨论的RGBA.如果需要更详细的解说,大家就跟着我一起往下看吧. 语法: R:红色值.正整数 | 百分数 G:绿色值.正整数 | 百分数 B:蓝色值.正整数| 百分数 A:透明度.取值0~1之间 取值: <len

兼容ie8 rgba()用法 滤镜filter的用法

原文  http://blog.csdn.net/westernranger/article/details/40836861 今天遇到了一个问题,要在一个页面中设置一个半透明的白色div.这个貌似不是难题,只需要给这个div设置如下的属性即可: background: rgba(255,255,255,.1); 但是要兼容到ie8.这个就有点蛋疼了.因为ie8不支持rgba()函数.下面我们总结一下rgba()函数的含义. rgba的含义,r代表red,g代表green,b代表blue,红绿蓝

css 兼容ie8 rgba()用法

今天遇到了一个问题,要在一个页面中设置一个半透明的白色div.这个貌似不是难题,只需要给这个div设置如下的属性即可: background: rgba(255,255,255,.1); 但是要兼容到ie8.这个就有点蛋疼了.因为ie8不支持rgba()函数.下面我们总结一下rgba()函数的含义. rgba的含义,r代表red,g代表green,b代表blue,红绿蓝是三原色.所有颜色都可以由这三种颜色拼合而成.a代表透明度.比如rgba(255,255,255,0.1)就是透明度为0.1的白

转: CSS3 @media 用法总结

一.首先是<meta>标签 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 这段代码的几个参数解释: width = device-width:宽度等于当前设备的宽度 initial-scale:初始的缩放比例(默认设置为1.0) minimum-scale:允许用户缩放到的最

兼容ie8 rgba()用法

<!--[if IE]> <style type="text/css"> .mark { background:transparent; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#c80e92cb,endColorstr=#c80e92cb); zoom: 1; } </style> <![endif]--> DXImageTransform.Mic

CSS3 -- 透明色(rgba)

1.rgba 描述 rgb:红r.绿g.蓝b rgba:红r.绿g.蓝b.透明度Alpha 取值: r.g.b值:正整数(0 ~ 255) | 百分数( 0.0% ~ 100.0%):(超出范围的数值将被截至其最接近的取值极限.并非所有浏览器都支持使用百分数值.) a透明度值:取值0~1之间:(不可为负) 2.rgba 兼容 3.rgba 用法 rgba:制作透明色(透明背景色.透明边框色.透明前景色等), opacity:在CSS2中制作背景色通常用到,但用它制作边框色或前景色的话,则存在问题

CSS3 Transform属性详解

今天我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).转换(transition)和动画(animation)等更高级的CSS3技术.本文主要介绍的是这三个属性之中的第一个──变形transform. Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一起来看看CSS3中transform的旋转rotate.扭曲skew.缩

CSS3 经典教程系列:CSS3 圆角(border-radius)详解

<CSS3 入门教程系列>前一篇文章详细介绍了 CSS3 RGBA 特性的用法,今天这篇文章我们在一起来看看 CSS3 中用于实现圆角效果的 border-radius 属性的具体用法. 以前制作圆角效果,我们都需要使用多张圆角图片做为背景分别应用到每个角上,我应用最多的就是在需要圆角的元素标签中加四个空标签,然后在每个空标签中应用一个圆角的背景位置,然后在对这几个应用了圆角的标签进行定位到相应的位置,非常繁琐. 您可能感兴趣的相关文章 Web 开发人员和设计师必读文章推荐 20个非常绚丽的