插件窝 干货文章 关于CSS渲染:CSS是如何绘制颜色的

关于CSS渲染:CSS是如何绘制颜色的

颜色 strong li 渐变 866    来源:    2024-10-29

颜色的原理

最常见的颜色相关的属性就是 color 和 background-color。

颜色值:RGB 颜色,CMYK 颜色,HSL 颜色,其它颜色

RGB 颜色:它符合光谱三原色理论:红、绿、蓝三种颜色的光可以构成所有的颜色。

现代计算机中多用 0 - 255 的数字表示每一种颜色,这正好占据了一个字节,每一个颜色就占据三个字节。

CMYK 颜色:在印刷行业,使用的就是这样的三原色(品红、黄、青)来调配油墨,这种颜色的表示法叫做 CMYK,它用一个四元组来表示颜色。

HSL 颜色:HSL 这样的颜色模型被设计出来了,它用一个值来表示人类认知中的颜色,我们用专业的术语叫做色相(H)。加上颜色的纯度(S)和明度(L),就构成了一种颜色的表示。

其它颜色:RGBA 是代表 Red(红色)、Green(绿色)、Blue(蓝色)和 Alpha 的色彩空间。RGBA 颜色被用来表示带透明度的颜色,实际上,Alpha 通道类似一种颜色值的保留字。在 CSS 中,Alpha 通道被用于透明度,所以我们的颜色表示被称作 RGBA,而不是 RGBO(Opacity)

CSS 还规定了名称型的颜色,它内置了大量(140 种)的颜色名称。

渐变:在 CSS 中,background-image这样的属性,可以设为渐变。CSS 中支持两种渐变,一种是线性渐变,一种是放射性渐变。

线性渐变的写法是:

linear-gradient(direction, color-stop1, color-stop2, ...);

 direction 可以是方向

  • to bottom
  • to top
  • to left
  • to right
  • to bottom left
  • to bottom right
  • to top left
  • to top right
  • 120deg
  • 3.14rad

 color-stop 是一个颜色和一个区段

  • rgba(null,0,0,0)
  • orange
  • yellow 10%
  • green 20%
  • lime 28px

放射性渐变需要一个中心点和若干个颜色:

radial-gradient(shape size at position, start-color, ..., last-color);

 形状:

CSS 中的很多属性还会产生形状,比如我们常见的属性:

  • border
  • box-shadow
  • border-radius

这些产生形状的属性非常有趣,我们也能看到很多利用它们来产生的 CSS 黑魔法。然而,这里我有一个相反的建议,我们仅仅把它们用于基本的用途,把 border 用于边框、把阴影用于阴影,把圆角用于圆角,所有其它的场景,都有一个更好的替代品:datauri+svg

到此这篇关于关于CSS渲染:CSS是如何绘制颜色的的文章就介绍到这了,更多相关:CSS如何绘制颜色内容请搜索插件窝以前的文章或继续浏览下面的相关文章希望大家以后多多支持插件窝!