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


Posted in HTML / CSS onSeptember 25, 2020

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

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

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的兼容:

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

RGBA的兼容:

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

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
}

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

从上面的例子中我们可以看出随着透明度的变化,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);
}

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

从上面的例子中我们可以看出随着透明度的变化,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)
}

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

第二种:边框色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)
}

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

第三种:字体的阴影色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) ;
}

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

第四种:改变边框阴影色

<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) ;
}

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

总结

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

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

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

到此这篇关于CSS3 rgb and rgba(透明色)的使用详解的文章就介绍到这了,更多相关CSS3 rgb and rgba内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
简单掌握CSS3将文字描边及填充文字颜色的方法
Mar 07 HTML / CSS
纯css3实现鼠标经过图片显示描述的动画效果
Sep 01 HTML / CSS
CSS+jQuery+PHP+MySQL实现的在线答题功能
Apr 25 HTML / CSS
CSS3 :not()选择器实现最后一行li去除某种css样式
Oct 19 HTML / CSS
css3实现椭圆轨迹旋转的示例代码
Oct 29 HTML / CSS
Android本地应用打开方法——通过html5写连接
Mar 11 HTML / CSS
html5中 media(播放器)的api使用指南
Dec 26 HTML / CSS
Html5之title吸顶功能
Jun 04 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
Aug 19 HTML / CSS
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
Apr 22 HTML / CSS
面试必问:圣杯布局和双飞翼布局的区别
May 13 HTML / CSS
CSS link与@import的区别和用法解析
May 07 HTML / CSS
详解CSS3弹性伸缩盒
Sep 21 #HTML / CSS
CSS3 实现雷达扫描图的示例代码
Sep 21 #HTML / CSS
详解css3 flex弹性盒自动铺满写法
Sep 17 #HTML / CSS
Css3实现无缝滚动防抖
Sep 14 #HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
Sep 14 #HTML / CSS
详解css3中dispaly的Grid布局与Flex布局
Sep 11 #HTML / CSS
CSS3动画和HTML5新特性详解
Aug 31 #HTML / CSS
You might like
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
python的类方法和静态方法
2014/12/13 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python爬取哈尔滨天气信息
2018/07/14 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
python实现马丁策略的实例详解
2021/01/15 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
保安员岗位职责
2013/11/17 职场文书
小学家长会邀请函
2014/01/23 职场文书
即将毕业大学生自荐信
2014/01/24 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
旅游节目策划方案
2014/05/26 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书