You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Figma设计中的环形渐变效果复刻到CSS中?

复刻Figma环形渐变到CSS的解决方案

你用径向渐变无法实现目标效果,是因为径向渐变是从中心向外扩散的色彩过渡,而你需要的**环形渐变(绕圆形边缘的色彩过渡)应该用CSS的锥形渐变(conic-gradient)**来实现,结合裁剪技巧可以还原Figma的设计效果。

核心思路

Figma里的线性渐变参数是沿特定角度的直线过渡,要转为环形效果,需要把色彩映射到圆形的圆周方向,锥形渐变正好能实现这种绕圆心的色彩分布。再通过裁剪(mask或background-clip)可以实现空心圆环的效果。

具体实现代码

1. 填充圆形的环形渐变(色彩绕圆心分布)

直接使用conic-gradient,对应Figma的渐变角度和色彩节点:

.circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(
    from 206.12deg, /* 对应Figma线性渐变的角度 */
    rgba(231, 51, 255, 0.5) 0deg,
    rgba(207, 67, 255, 0.483696) 160deg, /* 转换自Figma的6.69%节点 */
    rgba(0, 204, 255, 0.5) 360deg /* 转换自Figma的108.36%节点 */
  );
}

2. 空心圆环的渐变边框

如果需要的是空心环形的渐变效果,可通过background-clip实现(避免border-image不支持圆角的问题):

.ring {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 20px solid transparent; /* 边框厚度可自行调整 */
  background: 
    conic-gradient(
      from 206.12deg,
      rgba(231, 51, 255, 0.5),
      rgba(207, 67, 255, 0.483696),
      rgba(0, 204, 255, 0.5)
    ),
    #ffffff; /* 中间填充色,需与容器背景色一致 */
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
}

3. 用mask裁剪环形

另一种实现空心圆环的方式是用mask裁剪出环形区域:

.ring-mask {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(
    from 206.12deg,
    rgba(231, 51, 255, 0.5),
    rgba(207, 67, 255, 0.483696),
    rgba(0, 204, 255, 0.5)
  );
  /* 裁剪出环形:中间透明,边缘保留(70%为内圆半径比例,可调整) */
  mask: radial-gradient(circle, transparent 70%, black 70%);
}

色彩节点转换说明

Figma中的线性渐变百分比是沿渐变线的相对位置,转换为锥形渐变的角度时:

  • 总渐变范围:108.36% - (-74.73%) = 183.09%
  • 第二个色彩节点(6.69%)相对于起点的偏移比例:(6.69% + 74.73%) / 183.09% ≈ 44.47%,对应角度:44.47% × 360° ≈ 160°

这样转换后就能还原Figma里的色彩过渡节奏。

内容的提问来源于stack exchange,提问作者shaqiya laura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:34:54