1.颜色有几种写法
这里暂且不提透明色,把它放在下一部分。
(1).关键字写法:
直接指定颜色名,如red、blue、orange等。
代码示例:
<h1 style="color:red">测试</h1>
(2).十六进制写法
十六进制颜色是这样规定的:#RRGGBB,其中的 RR(红色)、GG(绿色)、BB(蓝色)十六进制整数规定了颜色的成分。所有值必须介于 0 与 F 之间。
举例说,#0000ff 值显示为蓝色,这是因为蓝色成分被设置为最高值(ff),而其他成分被设置为 0,此时可简写为#00f。
代码示例:
<h1 style="color:#ff0000">测试</h1>
(3).RGB写法
RGB 颜色值是这样规定的:rgb(red, green, blue)。每个参数 (red、green 以及 blue) 定义颜色的强度,可以是介于 0 与 255 之间的整数,或者是百分比值(从 0% 到 100%)。
代码示例:
<h1 style="color:rgb(255,0,0)">测试</h1>
(4).HSL圆柱坐标系统写法
HSL 指的是 hue(色相)、saturation(饱和度)、lightness(明度) – 表示颜色柱面坐标表示法。HSL 颜色值是这样规定的:hsl(hue, saturation, lightness)。Hue 是色盘上的度数(从 0 到 360) – 0 (或 360) 是红色,120 是绿色,240 是蓝色。Saturation 是百分比值;0% 意味着灰色,而 100% 是全彩。Lightness 同样是百分比值;0% 是黑色,100% 是白色。
代码示例:
<h1 style="color:hsl(0, 100%,50%)">测试</h1>
2.透明色
那么透明色如何表示呢?
RGBA颜色值、HSLA 颜色值分别是 RGB颜色值、HSL 颜色值的扩展,带有一个 alpha 通道 – 它规定了对象的不透明度。alpha 参数是介于 0.0(完全透明)与 1.0(完全不透明)的数字。
代码示例:
<h1 style="color:rgba(255,0,0,0.3)">测试</h1>
<h1 style="color:hsla(0, 100%,50%,0.3)">测试</h1>
3.透明效果的实现
(1).通过设置对象背景rgba、hsla的alpha参数,可实现背景透明,文字不透明的效果。
(2).通过设置对象的 opacity,取值0~1,可实现背景透明,文字也透明的效果。如:
.demo{
padding: 25px;
background-color:#000000;
opacity: 0.2;
}
4.currentColor如何来用
MDN的解释:currentColor代表了当前元素被应用上的color颜色值。 使用它可以将当前这个颜色值应用到其他属性上,或者嵌套元素的其他属性上。
以这么理解,currentColor相当于一个变量,用来储存当前元素的color值,当然color值可以是设定的也可以是继承而来的,然后你就可以在当前元素中使用它,它也随着color值的改变而改变。
情形1:
<div>饥人谷</div>
div{
color: red;
}
此时,<p>标签currentColor的值为red。
情形2:
<div> <p>饥人谷</p></div>
div{
color: red;
}
此时,<p>标签currentColor的值为red。
情形3:
<html><div> <p>饥人谷</p></div></html>
//无CSS
此时,父级元素也没有指定颜色,那它的父级元素就会从父级的父级去继承,直到文档的根结点html标签都还没显示指定一个颜色,就应用上浏览器默认的颜色。
理解了currentColor的概念,应用起来就简单了,直接当做颜色值调用即可,但是要记住当前元素中使用的是当前元素的color值。如:
<div>饥人谷</div>
div{
color: red;
border: 4px solid currentColor;
}
直接调用设置边框颜色。