CSS 中颜色有多种不同的应用方式;预定义的颜色名称、rgb、rgba 以及使用十六进制颜色值。下面的 CSS 展示的是使用预定义的颜色名称,背景色将设置为 ‘purple(紫色)’。
CSS 中有很多预定义的颜色,可以向上面写的那样,仅使用预定义的名称来应用该颜色。下面是预定义颜色的列表,这并不是所有的预定义颜色。这些名称并不区分大小写,所以,你全部写成大写或小写都没毛病。
Black(黑色)、White(白色)、Grey (or Gray)(灰色)、Silver(银色)
Blue(蓝色)、Aqua(水绿色)、Cyan(青色)
Crimsom(深红色)、Red(红色)
Green(绿色)、DarkGreen(深绿色)、Lime(石灰)
Gold(金色)、Yellow(黄色)
Pink(粉色)、HotPink(火粉色)、Magenta(洋红色)
Brown(棕色)、Maroon(栗色)
Purple(紫色)、Violet(紫罗兰色)
Red(红)、Green(绿)、Blue(蓝)或者 rgb 是 CSS 中的另一种颜色设置方式。rgb 函数接收三个参数,分别代表红、绿、蓝。每个颜色分量的值可以是 0 到 255 中的任意整数,包含 0 和 255。0 是最小值,代表该颜色并未应用。下面的代码中蓝色分量的值为 0,所以蓝色不会被添加到颜色中。我们设置红色分量为最亮值,绿色分量设置为一半(125)。这将会把设置为橙色。
透明度是另外一个在 CSS 中可以应用到颜色中的东西。通过使用 rgba 函数你可以添加一个额外的参数来设置透明度。alpha 正是设置透明程度的。其数值是十进制数从 0 到 1,所以、0.5 代表半个透明度。下面的代码同样是设置为橙色,不过还设置了一半的透明度,使它有点儿透明。
CSS 中最后还有一种设置颜色的方式,使用十六进制数值。十六进制数值从 0 到 F 并且给每个颜色分量两部分,并且以一个主题符号 ‘#’ 开头。十六进制的字母部分从 A 到 F 对应数字的 10 到 15。下面的 CSS 代码是使用十六进制表示的橙色。红色部分表示为 ‘FF’,绿色的部分为 ‘76’,蓝色分量为 ‘00’。绿色分量并不是数字 76,它是两部分数字 7 和数字 6。
转换十六进制为常用的十进制的数值是很复杂的,因为十六进制数值的基数为 16 而十进制数值的基数为 10。要将十六进制颜色转换为普通的十进制数,我们必须将每个数字乘以 16 的幂次。下面显示了十六进制值如何转换为普通的十进制数。
FF = (15 160) + (15 161) = 15 1 + 15 16 = 15 + 140 = 255
76 = ( 7 160) + ( 6 161) = 7 1 + 6 16 = 7 + 96 = 103
00 = ( 0 160) + ( 0 161) = 0 1 + 0 16 = 0 + 0 = 0
为了简化计算,我们可以只取一个十六进制颜色的第一个数字,然后乘以第二个数字再乘以 16。这如下所示,使用与上面相同的数字。这是因为幂为 0 的任何数字等于数字 1,幂为 1 的 16 等于数字 16。
FF = 15 + (15 16) = 255
76 = 7 + ( 6 16) = 103
00 = 0 + ( 0 * 16) = 0