CSS 所有颜色代码 深度精讲(从零到精通,底层规则 + 换算 + 简写 + 坑点)
把所有 CSS 颜色代码分类型、讲结构、讲换算、讲简写、讲透明度、讲底层等价关系,一次性吃透,以后看任何色值都能秒懂。
CSS 所有颜色代码 深度精讲(从零到精通,底层规则 + 换算 + 简写 + 坑点)
把所有 CSS 颜色代码分类型、讲结构、讲换算、讲简写、讲透明度、讲底层等价关系,一次性吃透,以后看任何色值都能秒懂。
一、最常用:十六进制色值 #RRGGBB
1. 基础结构
格式:# + 6位十六进制数
拆分:
plaintext
# RR GG BB
红色 绿色 蓝色
每两位控制一个颜色通道:红、绿、蓝。
2. 进制底层规则
十六进制范围:00 ~ FF
对应十进制亮度:0 ~ 255
00= 最暗(无光)FF= 最亮(满亮度)
换算例子:
00→ 十进制080→ 十进制128FF→ 十进制255
举例:
#FF0000:红 FF,绿 00,蓝 00 → 纯红#00FF00→ 纯绿#0000FF→ 纯蓝#000000→ 纯黑#FFFFFF→ 纯白
3. 十六进制简写 #RGB(3 位)
简写规则:每两位数值相同,才能缩写
规则:每一位翻倍还原成 6 位
例子:
#f00→ 还原#ff0000#abc→ 还原#aabbcc#369→ 还原#336699
❌ 不能简写的情况:
#123456 每两位不重复,不能缩成 3 位。
二、带透明度:8 位十六进制 #RRGGBBAA
结构
# 红 绿 蓝 透明度
最后两位 AA 是透明度通道,范围同样 00 ~ FF:
00= 完全透明FF= 完全不透明
例子:
#FF000080:红色 + 半透明#00000000:纯黑完全透明 = 和transparent等价
三、RGB / RGBA 函数色值
1. rgb(红, 绿, 蓝)
取值两种写法:
- 数值写法:
0 ~ 255
css
rgb(255, 0, 0) /* 纯红 */
- 百分比写法:
0% ~ 100%
css
rgb(100%, 0%, 0%) /* 同样纯红 */
2. rgba(红,绿,蓝, 透明度)
第四个参数 Alpha 透明度:范围 0 ~ 1
0= 完全透明1= 完全不透明
css
rgba(255, 0, 0, 0.5) /* 红色半透明 */
底层等价
#FF0000 🔁 rgb(255,0,0)
浏览器底层识别是完全同一个颜色,只是写法不同。
四、HSL / HSLA 人类友好型颜色
不用记红绿蓝数值,按色相、饱和度、明度调色。
1. hsl(色相, 饱和度, 明度)
色相 H:
0 ~ 360°色环- 0° / 360° → 红
- 120° → 绿
- 240° → 蓝
饱和度 S:
0% ~ 100%- 0% = 灰色
- 100% = 最鲜艳
明度 L:
0% ~ 100%- 0% = 纯黑
- 100% = 纯白
例子:
css
hsl(0, 100%, 50%) /* 正红色 */
hsl(240, 100%, 50%) /* 正蓝色 */
2. hsla(色相,饱和度,明度, 透明度)
和 rgba 一样,最后加 0~1 透明度。
✅ 优势:
想变浅、变深、变艳,只改百分比就行,不用算 RGB 数值。
五、颜色关键字(命名颜色)
1. 基础预设名
red green blue black white gray orange…
浏览器内置一张映射表,直接对应固定 RGB 值。
2. 特殊关键字
transparent底层等价:
rgba(0,0,0,0)完全透明。currentColor特殊继承色:
自动继承当前元素
color文字颜色;边框、阴影默认就是
currentColor。
六、灰色怎么快速写?
只要 R=G=B,就是灰色:
十六进制:
#999999简写#999RGB:
rgb(153,153,153)数值越大越白,越小越黑。
七、颜色代码通用规则(必记)
大小写不敏感
#fff和#FFF完全一样。所有色值浏览器最终都会转成 RGB 渲染
不管你写 #、rgb、hsl,引擎统一转成 RGB 通道亮度发给屏幕。
透明度只有两种载体
rgba / hsla →
0~18 位 hex →
00~FF本质都是前景与背景像素混合。
八、快速对照表
表格
| 写法 | 格式 | 特点 |
|---|---|---|
| 6 位十六进制 | #RRGGBB |
设计稿最常用 |
| 3 位简写 | #RGB |
两两相同时缩写 |
| 8 位带透明 | #RRGGBBAA |
简洁带透明 |
| rgb | rgb(255,0,0) |
直观数值 |
| rgba | rgba(255,0,0,.5) |
带透明 |
| hsl | hsl(0,100%,50%) |
好调色 |
| 关键字 | red / transparent |
省事简单 |
你要不要我给你做一套:任意十六进制 ↔ RGB ↔ HSL 手动换算口诀,以后不用工具自己就能口算转色值?