rgba_rgba颜色 - CSDN
精华内容
参与话题
  • rgba(0,0,0,0)详解

    万次阅读 2019-02-18 13:04:22
    前三个值(红绿蓝)的范围为0到255之间的整数或者0%到100%之间的百分数。...rgba(255,255,255,0)则表示完全透明的白色; rgba(0,0,0,1)则表示完全不透明的黑色; rgba(0,0,0,0)则表示完全不透明的白色,也即是无色;...

    前三个值(红绿蓝)的范围为0到255之间的整数或者0%到100%之间的百分数。这些值描述了红绿蓝三原色在预期色彩中的量。
    第四个值,alpha值,制订了色彩的透明度/不透明度,它的范围为0.0到1.0之间,0.5为半透明。

    rgba(255,255,255,0)则表示完全透明的白色;
    rgba(0,0,0,1)则表示完全不透明的黑色;
    rgba(0,0,0,0)则表示完全不透明的白色,也即是无色;

    展开全文
  • CSS3 之 RGBa 可透明颜色

    千次阅读 2017-11-15 14:13:28
    在 CSS3 中,增加了一个 opacity 属性,允许开发者设置元素的透明度,现在 opacity 已被主流...其实,在 CSS3 中还有另外一套颜色透明解决方案 —— RGBa 。相对于 opacity ,RGBa 可以在单个元素上设置透明度,而不影

    在 CSS3 中,增加了一个 opacity 属性,允许开发者设置元素的透明度,现在 opacity 已被主流的现代浏览器支持,但 opacity 会把被设置的元素及其子元素同时设置为同一个透明度,这样的透明规则相当不灵活,在实际开发中往往也是会遇到很多麻烦。其实,在 CSS3 中还有另外一套颜色透明解决方案 —— RGBa 。相对于 opacity ,RGBa 可以在单个元素上设置透明度,而不影响其子元素,只是 RGBa 的浏览器支持度并没有 opacity 的广泛,因此相对较少引起开发者注意。下面开始详细介绍 RGBa 颜色。

    一. RGBa 颜色基础

    RGBa 在本质上看也是为设置的元素增加了一个 alpha 通道,即在红色、绿色、蓝色三种颜色通道之外增加一个代表透明度的通道,其中 RGB 值使用我们熟悉的用3个 0 到 255 的整数分别表示红色、绿色、蓝色,而 alpha 取值则为 0 到 1 (小数位一位)。下面例举一个例子说明其具体的使用方式:

    在 CSS 2.1 中,支持使用 RGB 色彩声明(尽管开发者可能更加习惯使用如:#343434 的 16 进制表示方式),例如要为 id 为 example 的 div 元素设置背景色 #343434 ,可以这样写

    1
    2
    /* RGB 表示方式 */
    #example {background: rgb(52, 52, 52); }

    接下来再使用 RGBa ,把例子中的背景颜色修改成带 0.5 透明度。

    1
    2
    3
    4
    /* 设置 0.5 透明度 */
    #example-a {background: rgba(52, 52, 52, 0.5); }
    /* 也可以省略小数点前的 0 */
    #example-a {background: rgba(52, 52, 52, .5); }

    增加透明度前后效果如下(为了更明显的反映透明度带来的效果,例子中的 body 增加了背景纹理):

    可以看出,RGBa 只是在原有的 RGB 的基础上增加一个参数,这个改动虽小,却为开发者提供了很大的方便。

    另外,RGBa 除了可以用在 background 属性外,还可以用在 color 和 border 属性(注:border 属性使用 RGBa 在 Firefox 中会与在其他浏览器中的效果略有不同)。

    二. 浏览器支持与渐进增强

    尽管 RGBa 已经在主流现代浏览器中获得了良好的支持,其中 Webkit 对 RGBa 的支持是最早的,Chrome 至少在 0.415 版本便开始支持 RGBa ,在这个方面 Chrome 可以说是非常给力的,另外 Gecko 和 Presto 内核也逐步实现了对 RGBa 的支持,IE 浏览器则从 IE9 开始才支持 RGBa 。更具体的浏览器支持情况如下:

    Chrome 0.4.154.33+ , Firefox 3.0+ , Safari 3.2.1+ , Opera 10.10+ , IE9+

    更加详细的浏览器支持情况请参考这里

    对于不支持 RGBa 的浏览器,这里可以采用渐进增强的方案解决,Kayo 推荐的是指定一个保留色的解决方案。首先,开发者必须知道,不支持 RGBa 的浏览器会把使用了 RGBa 的 CSS 属性值视为语法错误,因此不理会该 CSS 属性设置。因此,开发者可以在设置 RGBa 颜色之前首先设置一个不使用透明度的属性,避免当浏览器不支持 RGBa 时出现完全没有颜色的情况。下面对上例进行扩展说明:

    1
    #example1 {background: rgb(52, 52, 52); background: rgba(52, 52, 52, .5); }

    不支持 RGBa 的浏览器会忽略第二个 background 属性设置,按照第一个属性值设置元素的背景色,这样虽然不能使浏览器之间的效果相同,但已经达到相似的效果了,并且体现了一种不错的渐进增强解决方案。

    当然,对于 IE ,可以使用滤镜达到与支持 RGBa 浏览器中相同的效果,例如:针对以上例子,你可以如下地编写代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <style type="text/css">
        #example-a {background: rgba(52, 52, 52, .5); }
    </style>
    <!--[if IE]>
        <style type="text/css">
            #example-a {
                background: transparent;
                filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#34343432', endColorstr='#34343432');
                zoom: 1;
            }
        </style>
    <![endif]-->

    这里需要注意,滤镜中使用的是上例中相同的颜色和透明度,只是使用 16 进制表示。

    IE 会忽略 RGBa 颜色设置,并且根据 filter 滤镜设置颜色,这样的效果与 RGBa 的效果相同。

    三. 不影响子元素

    在文章的开头已经介绍过,RGBa 相对 opacity 的优势是不会影响其子元素,即可以单独为被设置的元素设置透明度,而子元素而不受该设置影响。下面再例举一个具体的例子,分别以 RGBa 和 opacity 为元素设置透明度说明两者的区别。

    完整代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!DOCTYPE HTML>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>RGBa 与 opacity 效果的区别</title>
        <style type="text/css">
            body {padding-top: 200px; background: url(bg.png); }
            #example, #example-a {width: 200px; height: 100px; margin: 0 auto; }
            #example {background: rgb(52, 52, 52); opacity: 0.5; }
            #example-a {margin-top: 20px; background: rgba(52, 52, 52, .5); }
            .inside {display: block; width: 50px; height: 50px; margin-left: 10px; background: rgb(100, 140, 180); }
        </style>
    </head>
    <body>
        <div id="example">
     
            <span class="inside"></span>
     
        </div>
     
        <div id="example-a">
     
            <span class="inside"></span>
     
        </div>
    </body>
    </html>

    具体效果

    也可以浏览完整 Demo 。

    可以看出,opacity 会使其中的子元素 span 同时变为半透明的效果,而 RGBa 则只改变被设置的元素的透明度,而在大多数情况下,开发者只需要设置当前元素的透明度(如遮罩,半透明背景等),因此使用 RGBa 会更加的灵活。

    另外,在 IE9 中,直接使用 RGBa 颜色与使用 opacity 设置透明的效果会有差异(读者可以在 IE9 下浏览 Demo 查看具体的效果),开发者需要注意这一点差异。

    本文由 Kayo Lee 发表,本文链接:http://kayosite.com/css3-rgba-color.html

    展开全文
  • RGBA与RGB和区别与转换

    万次阅读 2017-05-22 13:16:10
    R:红色值。正整数 | 百分数 G:绿色值。正整数 | 百分数 B:蓝色值。...此色彩模式与RGB相同,RGB定义了颜色的红绿蓝值,在RGB模式上新增了Alpha透明度. ...如果一个像素的alpha通道数值为0%,那它就是完全透明的(也...

    R:红色值。正整数 | 百分数

    G:绿色值。正整数 | 百分数

    B:蓝色值。正整数 | 百分数

    A:Alpha透明度。取值0~1之间。(颜色的透明度)

    此色彩模式与RGB相同,RGB定义了颜色的红绿蓝值,在RGB模式上新增了Alpha透明度.

    alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像素(传统的数字图像)。在0%和100%之间的值则使得像素可以透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。它使数码合成变得容易。alpha通道值可以用百分比、整数或者像RGB参数那样用0到1的实数表示。

    【RGB和RGBA之间的转换】也许对你有用

    项目需要用到透明度,但UI给我的都是颜色,没有给关于透明度的色系,无奈之下,自己写了一个转换,希望对你有用

    代码如下:

    [html] view plain copy
     print?
    1. function RGB2RGBA(rgb_color,alp){  
    2.     //注:rgb_color的格式为#FFFFFFF,alp为透明度  
    3.     var r = parseInt("0x" + rgb_color.substr(1,2));  
    4.     var g = parseInt("0x" + rgb_color.substr(3,2));  
    5.     var b = parseInt("0x" + rgb_color.substr(5,2));  
    6.     var a = alp;  
    7.     return "rgba(" + r + "," + g + "," + b + "," + a + ")";  
    8. }  
    9.   
    10. function RGBA2RGB(rgba_color){  
    11.     //注:rgba_color的格式为rgba(0,0,0,0.1)  
    12.     var BGcolur = 1;  
    13.     var arr = rgba_color.split("(")[1].split(")")[0].split(",");  
    14.     var a = arr[3];  
    15.     var r = BGcolur * (1 - a) + arr[0] * a;  
    16.     var g = BGcolur * (1 - a) + arr[1] * a;  
    17.     var b = BGcolur * (1 - a) + arr[2] * a;  
    18.     return "rgb(" + r + "," + g + "," + b +")";  
    19. }  








    转载来自:http://blog.csdn.net/junjun56/article/details/45866591
    alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像素(传统的数字图像)。在0%和100%之间的值则使得像素可以透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。它使数码合成变得容易。alpha通道值可以用百分比、整数或者像RGB参数那样用0到1的实数表示。
    展开全文
  • rgba颜色

    千次阅读 2017-12-26 11:16:51
    前三个值(红绿蓝)的范围为0到255之间的整数或者0%到100%之间的百分数。这些值描述了红绿蓝三原色在预期色彩中的量。 第四个值,alpha值,制定了色彩的透明... rgba(255, 255, 255, 0)则表示完全透明的白色  

    前三个值(红绿蓝)的范围为0到255之间的整数或者0%到100%之间的百分数。这些值描述了红绿蓝三原色在预期色彩中的量。

    第四个值,alpha值,制定了色彩的透明度/不透明度,它的范围为0.0到1.0之间,0.5为半透明。比如,如果你想要纯粹的红色作为背景色,你就可以设置为100%红,0%绿和0%蓝。

         rgba(255, 255, 255, 0)则表示完全透明的白色
         rgba(0, 0, 0,1 )则表示完全不透明度的黑色

           喜欢的颜色:rgba(144, 238 ,144, 0.5)//半透明的青苹果绿
           rgba(255,252,153,0.5)//暖黄色
    展开全文
  • RGBA

    千次阅读 2012-08-02 10:26:37
    RGBA是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是...
  • rgb和rgba

    千次阅读 2018-07-09 10:22:47
  • ARGB与RGB、RGBA的区别

    万次阅读 2016-08-30 10:12:50
    ARGB 是一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化...RGBA 是代表Red(红色) Gree
  • RGB和RGBA之间的转换

    千次阅读 2019-06-13 19:06:20
    /** * rgb转rgba * @param color * @param alp * @returns {string} */ function rgbToRgba(color,alp){ var r,g,b; var rgbaAttr = color.match(/[\d.]+/g); ...
  • RGBA(0,0,0,0)调色

    千次阅读 2019-01-07 18:25:33
    前三个值(红绿蓝)的范围为0到255之间的整数或者0%到100%之间的百分数。这些值描述了红绿蓝三原色在预期色彩中的量。 第四个值,alpha值,制定了色彩的透明度/不透明度,它的范围为0.0到1.0之间,0.5为半... rgba...
  • rgba中的a是指?CSS之RGBA颜色指南

    万次阅读 2016-12-06 20:34:41
    RGBA是一种可以设置颜色值和透明度的CSS颜色   下面是用rgba() 设置50%透明度的白色.   p {  color: rgba(255, 255, 255, 0.5); } RGBA是RGB色彩模型的一个扩展。这个缩写词代表红绿蓝三...
  • RGBA转换成RGB

    万次阅读 2016-01-20 21:37:20
    刚毕业半年,毕业才开始接触UI,现在的系统支持RGB模式显示,但是需要RGBA透明色来描边,所以粗略学习了下。 个人理解RGBA中的A是相对的,也就是一个背景色。 所以假设背景颜色的值为(bg.r, bg.g, bg.b), 而...
  • css样式RGBA 透明度

    万次阅读 2018-06-23 17:26:06
    正常input显示为白色 /* 将文本透明 */ background: rgba(255, 255, 255, 0.11);.new-account-form input[type="text"], .new-account-form input[type="password"] { outline: none; font-...
  • RGBA颜色转换为16进制的颜色

    万次阅读 2019-06-02 09:13:13
    function hexify(color) { var values = color .replace(/rgba?\(/, '') .replace(/\)/, '') .replace(/[\s+]/g, '') .split(','); var a = parseFloat(values[3] || 1), r = Math.floor(...
  • QT之qss教程-Qt渐变色QGradient

    万次阅读 2017-11-06 15:37:06
    background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));   ★Czech background:qconicalgradient(cx:0.5, cy:0.5, angle
  • ValueError: Invalid RGBA argument: ' o'

    千次阅读 2019-07-26 20:57:42
    ValueError: Invalid RGBA argument: ’ o’ 原因:主要是由于’o’里边不能有空格
  • 一个小方法解决RGBA不兼容IE8

    万次阅读 2017-04-13 16:04:08
    background: rgba(255,255,255,0.1); 但是要兼容到ie8。这个就有点蛋疼了。因为ie8不支持rgba()函数。下面我们总结一下rgba()函数的含义。 rgba的含义,r代表red,g代表green,b代表blue,红绿蓝是三原色。所有...
  • rgba转16进制

    千次阅读 2019-06-04 15:48:56
    今天工作中遇到如下需求,需要将rgba的颜色值,转换为16进制的颜色值 将rgb转换为16进制我们都知道,但是将rgba装换为16进制知道的人可能就很少了,经过我查阅资料发现,国内几乎没有对于这个转换的正确解释,下面我...
  • 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解 A:透明度 ...Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位  ...Bitmap.Config ARGB_8888:每个像素占四...
  • RGBA与半透明背景

    千次阅读 2014-12-22 11:06:46
    所谓RGBA颜色,就是RGB三原色加ALPHA。在给背景添加颜色的同时,提供透明度特性。   使用方法 background:rgba(90,90, 54, 0.5); 支持情况 Firefox 3.0.5 支持 Safari 支持 ...
  • html中设置色彩透明度rgba

    万次阅读 2018-06-01 14:24:31
    rgba(0,0,0,0) 前三个是rgb值,0~255,0表示最深,r是red,g是green,b是blue 整个颜色由rgb三色配成 a:透明度0-1; 0:完全透明; 1:完全不透明...
1 2 3 4 5 ... 20
收藏数 114,527
精华内容 45,810
关键字:

rgba