CSS中的conic-gradient()函数是CSS渐变体系的重要组成部分,它围绕一个中心点按照角度方向分布颜色,和线性渐变、径向渐变有着明显的区别,能够实现很多传统CSS属性难以完成的视觉效果。

conic-gradient()函数的核心特点
1. 角度驱动的渐变逻辑
conic-gradient()的渐变方向由角度决定,默认从12点钟方向开始,按照顺时针方向分布颜色。我们可以通过from关键字调整起始角度,也可以通过at关键字调整渐变的中心点位置,这是它和线性、径向渐变最明显的区别。
2. 颜色节点的角度配置
在配置颜色节点时,除了指定颜色,还可以直接指定该颜色对应的角度位置,不需要像线性渐变那样按照百分比计算位置,角度范围从0deg到360deg,超出范围会自动按周期循环。
3. 无尺寸依赖的适配性
锥形渐变默认会填充整个容器,不需要额外设置尺寸属性,当容器大小发生变化时,渐变会自动适配,不会出现拉伸变形的问题,非常适合响应式场景使用。
conic-gradient()的基础语法
该函数的基础语法格式如下:
/* 基础语法 */ background: conic-gradient(from 起始角度 at 中心点位置, 颜色1 角度1, 颜色2 角度2, ...);
其中from和at都是可选参数,如果不指定,默认起始角度为0deg,中心点为容器的正中心。
常见应用场景与代码示例
场景1:实现饼图效果
饼图是conic-gradient()最典型的应用场景,只需要按照每个部分的角度占比配置颜色节点即可,不需要使用额外的绘图工具。
.pie-chart {
width: 200px;
height: 200px;
border-radius: 50%;
/* 三个部分分别占90deg、120deg、150deg,总和360deg */
background: conic-gradient(
#ff6b6b 0deg 90deg,
#4ecdc4 90deg 210deg,
#ffe66d 210deg 360deg
);
}
场景2:创建色轮效果
利用锥形渐变的角度特性,我们可以快速创建一个完整的色轮,只需要按照光谱顺序配置颜色节点即可。
.color-wheel {
width: 300px;
height: 300px;
border-radius: 50%;
background: conic-gradient(
red 0deg,
orange 60deg,
yellow 120deg,
green 180deg,
blue 240deg,
purple 300deg,
red 360deg
);
}
场景3:实现加载动画
结合CSS动画,我们可以用conic-gradient()实现一个简单的旋转加载效果,不需要引入额外的图片资源。
.loading {
width: 80px;
height: 80px;
border-radius: 50%;
background: conic-gradient(transparent 0deg, #3498db 360deg);
animation: rotate 1s linear infinite;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
使用注意事项
- 颜色节点的角度需要按顺序配置,后一个角度必须大于前一个角度,否则会出现渐变异常。
- 如果所有颜色节点的角度总和不足360deg,剩余部分会使用最后一个颜色填充。
- 在部分旧版本浏览器中可能存在兼容性问题,使用前可以检查目标浏览器的支持情况。
conic-gradient()函数的特性让CSS能够实现更多复杂的视觉效果,减少了对图片资源的依赖,在提升页面性能的同时也能满足更多创意设计需求,开发者可以根据实际场景灵活使用。
conic-gradientCSS渐变锥形渐变视觉效果修改时间:2026-06-14 17:12:27