饥人谷技术博客

CSS之Color

2017-08-04  本文已影响0人  zh_yang

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;
}

直接调用设置边框颜色。

上一篇下一篇

猜你喜欢

热点阅读