HOW - CSS 定义颜色值

目录

  • [1. 十六进制颜色 (Hexadecimal Color)](#1. 十六进制颜色 (Hexadecimal Color))
  • [2. RGB 颜色 (RGB Color)](#2. RGB 颜色 (RGB Color))
  • [3. HSL 颜色 (HSL Color)](#3. HSL 颜色 (HSL Color))
    • [HSL 颜色模式](#HSL 颜色模式)
    • 示例
  • [4. 预定义颜色名 (Named Colors)](#4. 预定义颜色名 (Named Colors))
  • [5. LCH 颜色 (LCH Color)](#5. LCH 颜色 (LCH Color))
  • [6. Lab 颜色 (Lab Color)](#6. Lab 颜色 (Lab Color))
  • [7. HWB 颜色 (HWB Color)](#7. HWB 颜色 (HWB Color))
  • [8. CSS 颜色函数 (Color Function)](#8. CSS 颜色函数 (Color Function))
  • [9. CSS4 颜色模块中的其他函数](#9. CSS4 颜色模块中的其他函数)
  • 示例总结

CSS 支持多种方式定义颜色值。以下是常用的几种颜色定义方式:

1. 十六进制颜色 (Hexadecimal Color)

使用十六进制表示红、绿、蓝三原色。

  • 简写形式(如果每个颜色分量是两个相同的字符):

    css 复制代码
    color: #f00; /* 红色 */
  • 完整形式:

    css 复制代码
    color: #ff0000; /* 红色 */

2. RGB 颜色 (RGB Color)

使用 rgb() 函数,定义红、绿、蓝三个分量的颜色,范围从 0 到 255。

  • 不透明的 RGB:

    css 复制代码
    color: rgb(255, 0, 0); /* 红色 */
  • 透明的 RGBA:

    css 复制代码
    color: rgba(255, 0, 0, 0.5); /* 50% 透明的红色 */

3. HSL 颜色 (HSL Color)

使用 hsl() 函数,定义色调、饱和度和亮度。

  • 不透明的 HSL:

    css 复制代码
    color: hsl(0, 100%, 50%); /* 红色 */
  • 透明的 HSLA:

    css 复制代码
    color: hsla(0, 100%, 50%, 0.5); /* 50% 透明的红色 */

hsl 是一种颜色表示方式,表示色调 (Hue)、饱和度 (Saturation) 和亮度 (Lightness)。与传统的 RGB 颜色表示方式不同,HSL 更接近人类对颜色的感知方式。

HSL 颜色模式

HSL 是一种基于色相、饱和度和亮度来表示颜色的模式:

  • Hue (色调): 色调是指颜色的种类,表示为 0 到 360 之间的角度值。例如:

    • 0° 是红色
    • 120° 是绿色
    • 240° 是蓝色
  • Saturation (饱和度): 饱和度表示颜色的鲜艳程度,范围从 0% 到 100%。0% 是灰色,100% 是全色。

  • Lightness (亮度): 亮度表示颜色的明暗程度,范围从 0% 到 100%。0% 是黑色,100% 是白色。

示例

例如,HSL 值为 hsl(240, 100%, 50%) 表示的是一个纯蓝色,色调为 240°,饱和度为 100%,亮度为 50%。

4. 预定义颜色名 (Named Colors)

使用 CSS 提供的预定义颜色名。

  • 示例:

    css 复制代码
    color: red; /* 红色 */
    color: blue; /* 蓝色 */
    color: lightgray; /* 浅灰色 */

5. LCH 颜色 (LCH Color)

使用 lch() 函数,定义亮度(Lightness)、色度(Chroma)和色调(Hue)。

  • 示例:

    css 复制代码
    color: lch(50% 100 0); /* 大致为红色 */

6. Lab 颜色 (Lab Color)

使用 lab() 函数,定义亮度(Lightness)、a(从绿色到红色轴)和 b(从蓝色到黄色轴)。

  • 示例:

    css 复制代码
    color: lab(50% 50 0); /* 大致为蓝色 */

7. HWB 颜色 (HWB Color)

使用 hwb() 函数,定义色调(Hue)、白色量(Whiteness)和黑色量(Blackness)。

  • 示例:

    css 复制代码
    color: hwb(0 0% 0%); /* 红色 */
    color: hwb(240 0% 0%); /* 蓝色 */

8. CSS 颜色函数 (Color Function)

使用 color() 函数可以定义多种颜色空间的颜色,通常用于更高级的颜色操作和定义。

  • 示例:

    css 复制代码
    color: color(display-p3 1 0 0); /* 使用 Display-P3 色彩空间 */

9. CSS4 颜色模块中的其他函数

CSS4 颜色模块引入了更多颜色定义方法,如 oklch()oklab(),这些方法正在得到越来越多的支持。

  • 示例:

    css 复制代码
    color: oklch(0.5 0.2 0.2); /* 使用 OKLCH 颜色空间 */

示例总结

综合利用这些颜色定义方式,可以根据项目需求选择最合适的颜色表示方法。例如:

css 复制代码
/* 十六进制颜色 */
color: #3498db;

/* RGB 颜色 */
color: rgb(52, 152, 219);

/* HSL 颜色 */
color: hsl(204, 70%, 53%);

/* 预定义颜色名 */
color: steelblue;

/* 透明的 RGBA 颜色 */
color: rgba(52, 152, 219, 0.5);

/* LCH 颜色 */
color: lch(67.5345% 0.2372 264.6053);

/* Lab 颜色 */
color: lab(67.5345% -24.2038 -44.5822);

/* HWB 颜色 */
color: hwb(204 0% 0%);

/* CSS4 颜色模块 */
color: color(display-p3 0.2 0.6 0.8);

每种方法都有其优势和适用场景,可以根据具体需求选择合适的方法来定义颜色。

相关推荐
觉醒法师3 分钟前
HarmonyOS开发 - 电商App实例二( 网络请求http)
前端·http·华为·typescript·harmonyos·ark-ts
沈剑心3 分钟前
Kotlin的协程,真能提升编程效率么?
android·前端·kotlin
堕落年代13 分钟前
Vue主流的状态保存框架对比
前端·javascript·vue.js
OpenTiny社区24 分钟前
TinyVue的DatePicker 组件支持日期面板单独使用啦!
前端·vue.js
冴羽24 分钟前
Svelte 最新中文文档教程(22)—— Svelte 5 迁移指南
前端·javascript·svelte
树上有只程序猿28 分钟前
Vue3组件通信:多个实战场景,轻松玩转复杂数据流!
前端·vue.js
剪刀石头布啊36 分钟前
css属性值计算过程
前端·css
bin915341 分钟前
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14基础固定表头示例
前端·javascript·vue.js·ecmascript·deepseek
小华同学ai43 分钟前
吊打中文合成!这款开源语音神器效果炸裂,逼真到离谱!
前端·后端·github
颜酱1 小时前
后台系统从零搭建(三)—— 具体页面之部门管理(抽离通用的增删改查逻辑)
前端·javascript·react.js