新闻中心
在初级项目中如何用css制作进度环
使用双半圆拼接法可轻松实现CSS进度环。首先通过HTML构建包含左右半圆和文本的结构,利用.progress-ring创建圆形容器,.progress-left和.progress-right分别控制0–50%与50%以上的进度显示;接着在CSS中设置.progress-bar的边框颜色与旋转角度,通过transform: rotate()控制弧度,如70%进度对应252°,右半圆转126°,左半圆补足剩余部分;最后用绝对定位居中.progress-text显示百分比。该方法依赖border+rotate模拟弧形,兼容性好,适合初学者掌握原理。

在初级项目中,用 CSS 制作一个简单的进度环并不复杂。核心思路是利用圆形的边框、透明背景和旋转动画或伪元素来模拟进度效果。下面介绍一种常见且易懂的方法——使用两个半圆拼接的方式实现。
1. 基本结构:HTML 搭建
先写一个容器元素,用于显示进度环:
<div class="progress-ring">
<div class="progress-left">
<div class="progress-bar"></div>
</div>
<div class="progress-right">
<div class="progress-bar"></div>
</div>
<div class="progress-text">50%</div>
</div>
这里通过左右两个半圆(left 和 right)组合成完整的环形进度条,每个半圆内部包含一个弧形 bar。
2. 样式设计:CSS 绘制圆形进度
使用 CSS 创建圆形和半圆结构:
.progress-ring {
width: 100px;
height: 100px;
position: relative;
border-radius: 50%;
background: #e0e0e0;
}
<p>.progress-left, .progress-right {
width: 50px;
height: 100px;
position: absolute;
top: 0;
overflow: hidden;
}</p><p>.progress-left {
left: 0;
}</p><p>.progress-right {
right: 0;
}</p><p>.progress-bar {
width: 100px;
height: 100px;
border: 8px solid transparent;
border-radius: 50%;
position: absolute;
top: 0;
}</p>关键点在于 .progress-bar 的 border 设置,我们只给某一边设置颜色,配合旋转就能形成弧形。
3. 控制进度:通过旋转控制显示角度
假设我们要显示 70% 的进度(即 252 度),可以这样处理:
青泥AI
青泥学术AI写作辅助平台
360
查看详情
- 0–50% 由右半圆控制
- 50% 以上时,右半圆满,左半圆开始显示多余部分
CSS 示例(以 70% 为例):
/* 右侧半圆:最多显示 50% */
.progress-right .progress-bar {
border-color: #4caf50;
border-right-color: transparent;
transform: rotate(126deg); /* 70% * 3.6 = 252°,但右侧最多转180° */
}
<p>/<em> 左侧半圆:当超过50%,才开始显示 </em>/
.progress-left .progress-bar {
border-color: #4caf50;
border-left-color: transparent;
transform: rotate(-126deg); /<em> 负值确保从左侧开始画 </em>/
}</p>注意:实际开发中可以用 J*aScript 动态计算角度并添加类或内联样式。
4. 添加文字居中显示
中间的文字可以通过绝对定位居中:
.progress-text {
position: absolute;
width: 70px;
height: 70px;
left: 15px;
top: 15px;
border-radius: 50%;
background: white;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
color: #333;
}
这样就能在环中间显示当前进度百分比。
基本上就这些。这个方法兼容性好,适合初学者理解原理。进阶可用 SVG 或 conic-gradient 优化,但在简单项目中,这种双半圆法足够实用。关键是理解如何用 border + rotate 模拟弧形进度。不复杂但容易忽略细节,比如 overflow:hidden 和层级关系。
以上就是在初级项目中如何用css制作进度环的详细内容,更多请关注其它相关文章!
# 环中
# 贵阳企业网络营销推广报价
# 自己建立网站推广步骤
# 沙盘seo和sem
# 公司网站建设功能介绍
# 交通运输行业营销推广获客
# seo培训天青
# 广东网站建设大概收费
# 哈尔滨网站seo推广优化公司
# 江门专业网站优化服务
# 湛江seo是什么
# 就能
# 适合初学者
# 选择器
# css
# 两种类型
# 进阶
# 性好
# 中不
# 最多
# 如何用
# overflow
# 绝对定位
# 伪元素
# svg
# html
# java
# javascript
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
win11开机启动修复循环怎么办 Win11无法进入系统高级启动解决方法【修复】
sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE
58动漫网在线官方网 58动漫网正版动漫入口网址
极速漫画官方主页网址 极速漫画漫画在线浏览官网链接
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
Go Martini框架:动态服务解码后的图片内容
深入理解与实现最大堆的Heapify过程:常见错误与修正
理解J*aScript Promise的微任务队列与执行顺序
Django表单提交验证失败后保持字段值不刷新
俄罗斯浏览器官网直达链接 俄罗斯浏览器最新在线入口导航
React Router v6 教程:构建认证保护的私有路由与重定向策略
Typer应用中动态命令行参数的解析与处理
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
Win11怎么修改默认浏览器_Windows 11设置Chrome为默认
Mac怎么查看崩溃日志_Mac控制台错误报告分析
Go语言JSON解析深度指南:动态访问与结构体映射实践
HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全
可靠CSGO开箱平台解析 CSGO开箱网合集
蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版
火锅吃太多会怎样 火锅吃太多会上火吗
《刺客信条4:黑旗》重制版新细节曝光:无缝加载 地图更细致!
word邮件合并后日期格式不对怎么改_Word邮件合并日期格式修改方法
Golang指针如何与map组合使用_Golang map指针组合实践
如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率
Python自定义类排序:解决lambda键值访问TypeError的实践指南
j*a toString()的覆盖
Python字典中优雅地迭代剩余元素的方法
从J*aScript对象中精确提取指定属性的教程
html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】
J*aScript打印功能_j*ascript输出控制
菜鸟取件码是什么怎么查 最全查询渠道汇总
Golang如何使用const iota_Go iota常量计数器讲解
在Runstone环境中高效处理TasteDive API的JSON数据
抖音未来赚钱的新趋势 2025年值得关注的变现风口分析
Windows7怎么硬盘安装 Windows7提取ISO镜像到非系统盘并运行setup.exe实现硬盘直装【教程】
Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】
Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突
css绝对定位元素脱离父容器怎么办_确保父元素position非static
蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗
Go语言中的*string:深入理解字符串指针
Go语言中动态执行代码字符串的策略与实践
Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法
美团外卖商家服务中心入口 美团商家版官网入口
使用 Pandas 高效处理 .dat 文件:数据清洗与数值计算实战
怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】
哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法
学习通网页版官方登录 超星学习通电脑端入口指南
在Socket.IO连接中实现Access Token自动更新与动态重连


2025-10-08
浏览次数:次
返回列表