使用css制作一个环形进度展示圈

想要制作一个上面的效果的比例展示,但又划不着使用echarts等;故而使用css进行实现

主要是使用到conic-gradient来进行控制,直接上代码吧

html 复制代码
<div class="circle-chart-box">
	<div class="circle-chart"></div>
	<div class="circle-chart__value">25780</div>
	<div class="circle-chart__unit">(总收益)</div>
</div>
css 复制代码
.circle-chart-box {
	width: 120px;
	height: 120px;
	position: relative;
}

.circle-chart {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	/* 核心:锥形渐变实现分段(比例可自定义,这里假设三段比例为70%、15%、15%) */
	background: conic-gradient(#1890ff 0% 70%,
			/* 第一段:蓝色,占70% */
			#ff4d4f 70% 85%,
			/* 第二段:红色,占15% */
			#faad14 85% 100%
			/* 第三段:黄色,占15% */
		);
	/* 裁剪出圆环(中间镂空) */
	-webkit-mask: radial-gradient(transparent 60%, #000 60%);
	mask: radial-gradient(transparent 60%, #000 60%);
}

/* 数字和单位的居中样式 */
.circle-chart__value {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
	font-size: 24px;
	font-weight: bold;
	color: #333;
}

.circle-chart__unit {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, 60%);
	font-size: 12px;
	color: #666;
}
相关推荐
冰暮流星9 小时前
javascript之事件代理/事件委托
前端
陈随易10 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢12 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒13 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
kyriewen13 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真13 小时前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal14 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
竹林81814 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
donecoding14 小时前
Playwright MCP 页面捕获:Snapshot、截图、HTML 到底选哪个?
前端·ai编程·前端工程化
滕青山14 小时前
在线PDF拆分工具核心JS实现
前端·javascript·vue.js