hex-color 透明度

一句话总结

十六进制颜色 (hex-color) 支持 #RRGGBBAA 这样的8位格式来展示透明度,AA 代表透明度,是个十六进制数字。

背景

一般涉及透明度的场景,最先想到的就是 opacityrgba() 颜色。

opacity 因为会影响其子元素的透明度,所以当场景是纯色的情况下,一般会使用 rgba 颜色来展示透明度。

但其实 hex-color 也制定来表示透明度的规范: w3c 规范

使用方式

在 原先 #RRGGBB 的基础上,新增了2位 AA 来表示透明度,完整格式为 #RRGGBBAA

AA 为十六进制数字, 00 等同于 0%,表示全透明, ff 等同于 100%,表示完全不透明。

百分比-值对应表:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
100% — FF
99% — FC
98% — FA
97% — F7
96% — F5
95% — F2
94% — F0
93% — ED
92% — EB
91% — E8
90% — E6
89% — E3
88% — E0
87% — DE
86% — DB
85% — D9
84% — D6
83% — D4
82% — D1
81% — CF
80% — CC
79% — C9
78% — C7
77% — C4
76% — C2
75% — BF
74% — BD
73% — BA
72% — B8
71% — B5
70% — B3
69% — B0
68% — AD
67% — AB
66% — A8
65% — A6
64% — A3
63% — A1
62% — 9E
61% — 9C
60% — 99
59% — 96
58% — 94
57% — 91
56% — 8F
55% — 8C
54% — 8A
53% — 87
52% — 85
51% — 82
50% — 80
49% — 7D
48% — 7A
47% — 78
46% — 75
45% — 73
44% — 70
43% — 6E
42% — 6B
41% — 69
40% — 66
39% — 63
38% — 61
37% — 5E
36% — 5C
35% — 59
34% — 57
33% — 54
32% — 52
31% — 4F
30% — 4D
29% — 4A
28% — 47
27% — 45
26% — 42
25% — 40
24% — 3D
23% — 3B
22% — 38
21% — 36
20% — 33
19% — 30
18% — 2E
17% — 2B
16% — 29
15% — 26
14% — 24
13% — 21
12% — 1F
11% — 1C
10% — 1A
9% — 17
8% — 14
7% — 12
6% — 0F
5% — 0D
4% — 0A
3% — 08
2% — 05
1% — 03
0% — 00

js转换函数

https://gist.github.com/lopspower/03fb1cc0ac9f32ef38f4?permalink_comment_id=4503706#gistcomment-4503706

浏览器中工具

在chrome devtool 中的 color picker 也可以选取

https://assets.digitalocean.com/articles/alligator/css/hex-code-colors-alpha-values/colorpicker.gif

兼容性

caniuse 上看到,chrome 62 版本后支持了该规范

参考