第 9 课 11 / 25 | 编码:L09-12c
核心知识

渐变:由浏览器生成的背景图像

无需图片文件,也能用颜色的连续变化装饰同一张活动卡片。

.poster {
  background-color: #e8f4ef;
  background-image: linear-gradient(
    to right, #e8f4ef, #fff1d9
  );
}

从函数名到参数

linear-gradient():线性渐变,生成的是图像,不是颜色值。

to right:从左向右;随后依次写起始色与结束色。

可写方向角:90deg 向右,180deg 向下。

浅绿 #e8f4ef → 浅金 #fff1d9;正文仍用深色,保证可读性。

background 与 background-color 的区别
.poster { background-image: linear-gradient(to right, teal, gold); }
.poster { background: lightyellow; }

background 是简写属性;未写出的相关背景属性会恢复初始值。第二条使 background-image 变为 none,原渐变不再显示。

若第二条改成 background-color: lightyellow,就只改底色,保留渐变。完全不透明的渐变会遮住其下的底色。

拓展:色标与多层背景
background-image:
  linear-gradient(to right, transparent, #fff1d9),
  url("stage-background.svg");

逗号分开多层背景,先写的一层在上面;这里透明部分能透出下方图片。色标可写位置,如 teal 0%, gold 100%;并不是改变元素本身的尺寸。

展开完整代码与运行演示
<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>黄梅戏分享会</title>
  <style>
    .poster {
      background-color: #e8f4ef;
      background-image: linear-gradient(
        to right, #e8f4ef, #fff1d9
      );
    }
    .poster {
      padding: 24px;
      color: #183347;
    }
  </style>
</head>
<body>
  <article class="poster">
    <h1>黄梅戏分享会</h1>
    <p>周三下午 · A208</p>
  </article>
</body>
</html>