锥形渐变

学习

锥形渐变

2026-02-23/0/ 编辑


语法

描述
xxxxxxxxxx css定义顺时针方向的渐变旋转角度<br/>值写法:from 角度值 如 from 45deg<br/>默认值:from 0deg
position定义渐变的中心位置<br/>使用与 background-position (opens new window)属性相同的值,定义渐变的中心。如果省略,默认值是 center,表示渐变是居中的。
start-color, ... , end-color定义渐变的颜色(色标)<br/>颜色值,然后后面可以根一个或两个可选的色标位置。<br/>两个颜色之间可以定义插值(数值),这个值决定了两个颜色的过渡中点
background-image: conic-gradient(
  /* angle 顺时针方向的渐变旋转角度  at position 渐变中心点 */ angle at position,
  /* 开始颜色 */ start-color,
  ...,
  /* 结束颜色 */ end-color
);

角度

<style>
  .box {
    width: 200px;
    height: 200px;
    border: 3px solid #000;
    /* 锥形渐变 顺时针*/
    background-image: conic-gradient(from 45deg, red, yellow, blue);
  }
</style>

<div class="box"></div>

position

使用与 background-position (opens new window)属性相同值,定义渐变的中心。

如果省略,默认值是 center,表示渐变是居中的

<style>
  .box {
    width: 200px;
    height: 200px;
    border: 3px solid #000;
    float: left;
  }
  .conic1 {
    /* 锥形渐变 
        at 50px 50px 表示渐变中心点坐标
        */
    background-image: conic-gradient(
      from 45deg at 50px 50px,
      red,
      yellow,
      blue
    );
  }
  .conic2 {
    /* at left center 表示渐变中心点坐标 */
    background-image: conic-gradient(
      from 45deg at left center,
      red,
      yellow,
      blue
    );
  }
</style>

<div class="box conic1"></div>
<div class="box conic2"></div>

设置颜色(色标)的位置(起始位置)

在颜色的后面紧跟着一个空格和色标值(度数 或 百分值都可以)来指定颜色的起始位置

百分比值相对的是 360deg 而言。比如 50% ,则相当于 360 * 50%=180deg

默认情况下,如果未设置 0% 的起始色,则起始色为声明的第一个颜色。
不管最后一种颜色出现位置有无设置,或设置值为多少,最后一个颜色都将持续到 100% 的位置 。

<style>
  .box {
    width: 200px;
    height: 200px;
    border: 3px solid #000;
    /* 锥形渐变 */
    background-image: conic-gradient(red 50%, yellow 75%, blue);
    /* 上面 锥形渐变和下面的锥形渐变效果是一样的*/
    background-image: conic-gradient(red 180deg, yellow 270deg, blue);
  }
</style>
<div class="box"></div>

自定义转换中点(过渡中点)

<style>
  .box {
    width: 200px;
    height: 200px;
    border: 3px solid #000;
    float: left;
  }
  .conic1 {
    /* 锥形渐变 */
    background-image: conic-gradient(red 50%, yellow 75%, 80%, blue);
  }
  .conic2 {
    /* 锥形渐变 */
    background-image: conic-gradient(red 50%, yellow 75%, 75%, blue);
  }
</style>
<div class="box conic1"></div>
<div class="box conic2"></div>

设置多位置颜色(色标)

TIP

可以在一个颜色后面出现多个色标值。

两个相邻的颜色有相同的色标值,就会形成条纹效果。

<style>
  .box {
    width: 200px;
    height: 200px;
    border: 3px solid #000;
    /* 锥形渐变 */
    background-image: conic-gradient(red 50%, yellow 50% 75%, blue 75%);
    /* 上面 锥形渐变和下面的锥形渐变效果是一样的*/
    background-image: conic-gradient(
      red 180deg,
      yellow 180deg 270deg,
      blue 270deg
    );
  }
</style>
<div class="box"></div>