只做利于SEO的网站,提供网站建设、SEO、网站代运营等服务。服务中心 | 建站流程 | 网站地图

WEB开发的色彩模式RGB、RGBA、HEX、HSLA有什么区别

2021-01-11小猴建站 阅读()相关主题:

WEB开发中色彩模式主要有RGB、RGBA、HEX、HSLA四种模式;WEB网页上的RGB颜色又和PhotoShop的WEB色、RGB色或CMYK色有一些差异;美术上的三原色是红、黄、蓝,很多颜色就是在三原色的基础上变化出来的;印刷需要的是CMYK色,还要参考Pantone色,版本不同,颜色差异大……是不是听着就挺晕的。小猴给大家详细说明一下

RGB

R 红色 Red   数值 0-255
G 绿色 Green 数值 0-255
B 蓝色 Blue  数值 0-255

写法如下

.div{color:255,255,255}

三通道颜色,通过三种颜色的变化,产生了各种各样的颜色。RGB color mode是通过颜色发光原理设定的,在一间完全黑暗的房间中也可以看到。可以把RGB想象成红、绿、蓝三盏灯,通过它们的亮度叠加混合,不断产生的新的色彩,叠加颜色越多效果越明亮。这种方式是加法混合

CMYK

CMYK即印刷色彩模式,出现在我们所见的屏幕中,所看的书本上,需要依赖外界光源才能看见。它是印刷时采用的一种套色模式,在所有印刷物上都能看见,比如我们看的书、杂志、报纸等等。通过三原色混色叠加成四色,这四个颜色分别是Cyan(C)、Magenta(M)、Yellow(Y)、blacK(K)。

CMYK是反光原理产生的,反光来自我们在阅读时所需要的太阳光、灯光等光源。它们吸收外界色彩,通过光源反射的白光,过滤掉一部分色彩波长,形成我们眼中看到的CMYK色彩,利用了减法混合

Web

Web Color是网站应用常见的色彩。它的模式有两种,一种是Web标准色,另一种是Web安全色。其中Web标准色,是以英文名称在网页脚本中使用的一种色彩,从RGB颜色中提取。写法如下

.div{color:red}
.div2{color:green}
.div3{color:blue}

RGBA

和RGB类似,只是增加了一个Alpha值,这个值由0-1变化(小数),就是透明度的变化,a值为0,就是完全透明,a值为1,就是完全不透明。RGBA是WEB开发中运用最多的色彩。写法如下

div{color:255,255,255,.5}
div{color:255,255,255,0.8}

由于在WEB开发中色彩选择用RGB的话,这些具体数值很难记忆,因此大多数的WEB开发又有人用HEX值,这两种用法都是可以互相转化的。

HEX

十六进制颜色,通过16进制 0-F 这16个字符表达颜色,比如用六位数字表示,结合CSS样式:

.div{color:#000000;} /*为黑色*/
.div{color:#FFFFFF;} /*为白色*/

实际WEB开发时以上两种HEX颜色又可以简写成三位数字:

.div{color:#000;}
.div{color:#fff;}

适合这种写法的需要满足条件:第1、2位相同,第3、4位相同,第5、6位相同。HEX同样也能实现半透明的功能,任何HEX颜色后面加上00-99的数值写法如下

.div{color:#d9d9d950;}  /*后面的50就是透明度50%*/
.div{color:#eee99} /*这种写法是错的,不能简写*/

十六进制CSS颜色代码(推荐)

#fff #ddd #aaa #888 #666 #444 #000
#ffb7dd #ff88c2 #f4a  #f08  #c10066  #a20055  #8c0044 
#fcc #f88 #f33  #f00  #c00  #a00  #800 
#ffc8b4 #ffa488 #f74 #f51  #e63f00  #c63300  #a42d00 
#fda #fb6 #fa3 #f80  #e70 #c60 #b50 
#fe9 #fd5 #fc2 #fb0  #da0  #a70  #860 
#ffb #ff7 #ff3 #ff0 #ee0 #bb0 #880
#efb #df7 #cf3 #bf0 #9d0 #8a0 #680
#cf9 #bf6 #9f3 #7f0 #6d0 #5a0 #270
#9f9 #6f6 #3f3 #0f0 #0d0 #0a0 #080
#bfe #7fc #3fa #0f9 #0d7 #0a5 #084
#afe #7fe #3fd #0fc #0da #0a8 #086
#9ff #6ff #3ff #0ff #0dd #0aa #088
#cef #7df #3cf #0bf #009fcc #0088a8 #079
#cdf #9bf #59f #06f #04b #003c9d  #037 
#ccf #99f #55f #00f #00c #00a #008 
#cbf #9f88ff #74f #50f #40c #20a #208 
#d1bbff #b088ff #95f #70f #50d #4400b3  #3a0088 
#e8ccff #d28eff #b94f #90f #70b #66009d #508 
#f0bbff #e38eff #e93eff #c0f #A500CC  #7a0099  #607
#ffb3ff #f7f #ff3eff #f0f #c0c #909  #707 

HSLA

H是色度,取值在0度~360度之间,0度是红色,120度是绿色,240度是蓝色,360度也是红色
S是饱和度,是色彩的纯度,是一个百分比的值,取值在0%~100%,0%饱和度最低,100%饱和度最高
L是亮度,也是一个百分比值,取值在0%~100%,0%最暗,100%最亮
A是不透明度,取值在0.0~1.0,0.0完全透明,1.0完全不透明

写法如下:

.div{color: hsla(0,100%,80%,0.5);}

说实在这个颜色的确比较难理解,IE9+、Firefox 3+、Chrome、Safari 以及 Opera 10+虽然也支持,但不建议大家采用。一般在WEB代码应精简,小猴推荐十六进制的精简写法,WEB尽量在#000 - #fff之中选择,让页面更简洁、易懂。

以下是RGB和HEX互换的方法,感兴趣的可以往下看。

RGB转换为HEX

RGB与HEX中每个颜色都是一一对应的关系,如下:

RGB的数值 = 16 * HEX的第一位 + HEX的第二位

示例如下:

RGB: 92, 184, 232
92 / 16 = 5余12 -> 5C
184 / 16 = 11余8 -> B8
232 / 16 = 14余8 -> E8

HEX = 5CB8E8

HEX转换RGB

此转换就是将上述的转换逆转即可

示例如下

HEX: F26BC1
F2 = 15和2 -> 15 * 16 + 2 = 242
6B = 6和11 -> 6 * 16 + 11 = 107
C1 = 12和1 -> 12 * 16 + 1 = 193