CSS3 rgb and rgba(透明色)的使用

简介: CSS3 rgb and rgba

作者:WangMin
格言:努力做好自己喜欢的每一件事

对于颜色相信大家都很敏感,眼睛所见之处都存在颜色,那在css中我们用什么来表示颜色呢?CSS 中的颜色有三种定义方式:使用颜色方法(RGB、RGBA、HSL、HSLA),十六进制颜色值和预定义的颜色名称。我们常使用的是RGB与RGBA。那我们就来说一下它们之间的区别吧!

1.jpg

rgb与rgba的含义

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

1、 基本语法:
R:红色值。 正整数(0~255)或 百分数(0.0% - 100.0%)
G:绿色值。 正整数(0~255)或 百分数(0.0% - 100.0%)
B:蓝色值。 正整数(0~255)或 百分数(0.0% - 100.0%)
A:透明度。取值0~1之间,不可为负值

RGB颜色值查找可参考:https://www.sioe.cn/yingyong/yanse-rgb-16/(css中也可用十六进制来表示各种颜色,在这个网站也可查找到各种颜色的十六进制值)。

2、浏览器的兼容性:
RGB的兼容:
2.png

RGBA的兼容:

3.png

http://caniuse.com/ 可以在这个网站查找你所要用的属性在浏览器中的兼容问题。
3、rgb与rgba的书写格式

rgb的书写格式:rgb(90,50,25);

其中第一个数字(90)表示Red 颜色(红色值),第二个数字(50)表示Green 颜色(绿色值),第三个数字(25)表示Blue 颜色(蓝色值)。数字越大(不超过255)则表示其对应的颜色加的越多。

rgba的书写格式:rgba(90,50,25,0.5);

从上面我们可以得到 RGBA 颜色值是 RGB 颜色值的扩展,添加了一个 alpha 通道, 它规定了对象的不透明度。前面三个数值跟 rgb表示的是一样的,a 的值为0~1之间的值,0表示透明色,1表示不透明,0.5表示每个(R、G、B)颜色50%的透明度,也就是每个颜色半透明状态。这里的a还可以简写成 .5,这里只要是有小数点的透明度,都可以这样简写。

rgb与rgba的区别

1、rgb+opacity(IE下不兼容)

因为rgba中的 a 表示对象的透明度,所以这里利用 opacity 属性(也表示透明度)+ rgb来说明一下rgb与rgba的区别。opacity 属性还可以用 filter 属性来表示,例如:filter:Alpha(opacity=50),这里的50表示的50%的透明度。例子如下:

<div class="box">
    <p>rgb+opacity:</p>
    <div class='one'>25%</div>
    <div class='two'>50%</div>
    <div class='three'>75%</div>
    <div class='four'>100%</div>
</div>
.box{
   
   
    margin-bottom: 10px;
    overflow: hidden;    
}
.box>div{
   
   
    width:100px;
    height:100px;
    float: left;
}
.box>div{
   
   
    background:rgb(255,0,0)
}
.box>.one{
   
   
    opacity:.25;
}
.box>.two{
   
   
    opacity:.5;
}
.box>.three{
   
   
    opacity:.75;
}
.box>.four{
   
   
    opacity:1
}

4.png

从上面的例子中我们可以看出随着透明度的变化,div 会具有透明性,div 上的文本也会随之具有透明度,越来越看不清。

2、rgba
因为rgba中的 a 表示对象的透明度,所以这里可以直接利用background搭配rgba来说明透明这个问题。例子如下:

<div class="box1">
    <p>rgba</p>
    <div class='one'>25%</div>
    <div class='two'>50%</div>
    <div class='three'>75%</div>
    <div class='four'>100%</div>
</div>

```css
.box1>div{
    width:100px;
    height:100px;
    float: left;
}
.box1>.one{
    background:rgba(255,0,0,1);
}
.box1>.two{
    background:rgba(255,0,0,.75);
}
.box1>.three{
    background:rgba(255,0,0,.5);
}
.box1>.four{
    background:rgba(255,0,0,.25);
}

5.png

从上面的例子中我们可以看出随着透明度的变化,div 会具有透明性,div 上的文本并没有受到透明度的影响,保持着文本的自身颜色。

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

第一种:字体颜色,设置颜色的同时可以设置透明度。

<p class="p1">字体颜色</p>
<p class="p2">字体颜色</p>
.p1{
   
   
    color:rgb(255,0,0)
}
.p2{
   
   
    color:rgba(255,0,0,.5)
}

6.png

第二种:边框色border-color

<div class="div3"></div>
<div class="div4"></div>
.div3,.div4{
   
   
    width:100px;
    height:100px;
    background:#f00;
}
.div3{
   
   
    border:5px solid rgb(0,0,0)
}
.div4{
   
   
    border:5px solid rgba(0,0,0,.2)
}

7.png

第三种:字体的阴影色text-shadow

 <p class="p1">字体阴影颜色</p>
<p class="p2">字体阴影颜色</p>
.p1{
   
   
    text-shadow:1px 2px 1px rgb(255,0,0) ;
}
.p2{
   
   
    text-shadow:1px 2px 1px rgba(255,0,0,.5) ;
}

8.png

第四种:改变边框阴影色

<div class="div3"></div>
<div class="div4"></div>
.div3,.div4{
   
   
    width:100px;
    height:100px;
    background:#000;
}
.div3{
   
   
    box-shadow: 1px 5px 5px rgb(255,0,0);
    margin-bottom: 20px;
}
.div4{
   
   
    box-shadow: 1px 5px 5px rgba(255,0,0,.5) ;
}

9.png

总结

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

2、使用 Opacity 来做透明,在父元素中使用了 Opacity,那么其它子元素都会受到影响。

3、最后需要告诉大家的一点, RGBA 这种方法,目前只有在支持 RGBA 属性的浏览器才能正常显示。


以上仅是个人见解,若有不足之处欢迎在下方评论指出,那就先分享到这里!! :smile: 后续继续更新!!

目录
相关文章
|
6月前
|
前端开发 开发者
CSS颜色表示:探索预定义名称、RGB、HEX、HSL、RGBA和HSLA
CSS颜色表示:探索预定义名称、RGB、HEX、HSL、RGBA和HSLA
|
Web App开发 存储 前端开发
基于RGB、HSL、HWB、LAB和LCH的CSS颜色指南
基于RGB、HSL、HWB、LAB和LCH的CSS颜色指南
814 0
|
Web App开发 前端开发
CSS3 经典教程系列——CSS3 RGBA 用法详解
  CSS 中的颜色有三种定义方式:使用颜色方法(RGB、RGBA、HSL、HSLA),十六进制颜色值和预定义的颜色名称。今天这篇文章我们一起来探讨一下 CSS3 中的 RGBA 属性。RGB 对于大家来说一点不陌生,他就是 Red(红色) Green(绿色)和 Blue(蓝色),那么现在我们所...
1148 0
|
4月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
28天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
56 7
|
28天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
35 6
|
28天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
41 5