网站

CSS 颜色

CSS 数据类型:color | MDN

引入

颜色是 CSS 中最常用的样式之一。

网页中的文字颜色、背景颜色、边框颜色、阴影颜色等,都可以通过 CSS 来控制。

正文

定义

定义

CSS 颜色用于控制元素在页面中的颜色显示效果,常见位置包括文字、背景、边框和阴影。

CSS 中设置颜色,本质上就是给某个颜色相关的属性指定一个颜色值。

语法

最常见的写法:

选择器 {
  属性: 颜色值;
}

例如:

p {
  color: red;
}

这里的 color 用于设置文字颜色,red 是颜色值。

常见颜色属性

属性作用
color设置文字颜色
background-color设置背景颜色
border-color设置边框颜色
outline-color设置轮廓颜色
box-shadow可以设置阴影颜色
text-shadow可以设置文字阴影颜色

颜色值写法

CSS 中颜色值有多种写法。

颜色名称

直接使用英文颜色名。

h1 {
  color: red;
}
 
p {
  background-color: lightblue;
}

这种写法简单直观,适合初学和临时测试。

十六进制颜色

使用 # 加颜色值。

h1 {
  color: #ff0000;
}
 
body {
  background-color: #f5f5f5;
}

#ff0000 表示红色,#f5f5f5 是一种很浅的灰色。

十六进制颜色在实际开发中很常见,因为设计稿里经常会直接给出这种颜色值。

rgb()

rgb() 通过红、绿、蓝三个通道表示颜色。

p {
  color: rgb(255, 0, 0);
}

这里的 rgb(255, 0, 0) 表示红色。

  • 第一个值表示红色
  • 第二个值表示绿色
  • 第三个值表示蓝色
  • 每个值通常在 0255 之间

rgba()

rgba()rgb() 多了一个透明度。

.box {
  background-color: rgba(0, 0, 0, 0.5);
}

这里表示一个半透明的黑色背景。

最后一个值是透明度:

  • 0 表示完全透明
  • 1 表示完全不透明
  • 0.5 表示半透明

现在也可以使用新的写法:

.box {
  background-color: rgb(0 0 0 / 50%);
}

hsl()

hsl() 通过色相、饱和度、亮度表示颜色。

button {
  background-color: hsl(210, 100%, 50%);
}

其中:

  • 第一个值表示色相
  • 第二个值表示饱和度
  • 第三个值表示亮度

hsl() 适合做一组有规律的颜色,例如同一种颜色的深浅变化。

例子

设置文字颜色和背景颜色

<p class="notice">这是一条提示信息</p>
.notice {
  color: #ffffff;
  background-color: #2563eb;
}

这个例子中,文字颜色是白色,背景颜色是蓝色。

设置边框颜色

<div class="card">卡片内容</div>
.card {
  border: 1px solid #dddddd;
}

这里的 #dddddd 用于设置边框颜色,让卡片边界更明显。

设置半透明背景

.mask {
  background-color: rgba(0, 0, 0, 0.6);
}

这种写法常用于遮罩层,让背景变暗但不完全挡住内容。

特点

  • color 主要控制文字颜色
  • background-color 控制背景颜色
  • border-color 控制边框颜色
  • 颜色名称简单,但可选范围有限
  • 十六进制颜色更常见,适合和设计稿配合使用
  • rgb() 更直观地表示红、绿、蓝三个颜色通道
  • rgba()rgb(… / …) 可以设置透明度
  • 颜色不只是装饰,也会影响可读性可访问性

注意事项

  • 文字颜色和背景颜色要有足够对比度,否则阅读会很吃力
  • 不要只用颜色表达重要信息,例如错误提示最好同时配文字说明
  • 同一个页面中颜色不要太杂,容易显得混乱
  • 如果使用透明色,要注意下面内容是否会影响最终显示效果
  • color 会被子元素继承,但 background-color 通常不会直接继承

理解

可以把 CSS 颜色理解为网页的视觉标记。

它不只是让页面变好看,也能帮助用户区分重点、状态和层级。

比如红色常用来表示错误或危险,绿色常用来表示成功,灰色常用来表示次要内容。

学习颜色时,重点不是背所有颜色值,而是知道颜色可以写在哪里、有哪些常见写法,以及什么时候需要注意可读性。

引出

理解了颜色之后,可以继续学习 CSS 背景,因为背景中也会大量使用颜色、图片和渐变效果。