<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>SVG实现圆形进度条</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: '微软雅黑', sans-serif;
}
body {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
background: #000;
}
.box {
position: relative;
width: 300px;
height: 400px;
display: flex;
justify-content: center;
align-items: center;
margin-right: 60px;
flex-direction: column;
background: linear-gradient(to right, rgba(35, 35, 35, 0.2), #1e1d1e);
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);
}
.box .percent {
position: relative;
width: 150px;
height: 150px;
}
.box .percent svg {
position: relative;
width: 150px;
height: 150px;
}
.box .percent svg circle {
width: 150px;
height: 150px;
fill: none;
stroke-width: 10;
stroke: #000;
transform: translate(5px, 5px);
stroke-dasharray: 440;
stroke-dashoffset: 440;
stroke-linecap: round;
}
.box:nth-child(1) .percent svg circle:nth-child(1) {
stroke-dashoffset: 0;
stroke: #000
}
.box:nth-child(1) .percent svg circle:nth-child(2) {
stroke-dashoffset: calc(440 - (440 * 87)/100);
stroke: #00fe41;
}
.box:nth-child(2) .percent svg circle:nth-child(1) {
stroke-dashoffset: 0;
stroke: #000
}
.box:nth-child(2) .percent svg circle:nth-child(2) {
stroke-dashoffset: calc(440 - (440 * 85)/100);
stroke: #079eff;
}
.box:nth-child(3) .percent svg circle:nth-child(1) {
stroke-dashoffset: 0;
stroke: #000
}
.box:nth-child(3) .percent svg circle:nth-child(2) {
stroke-dashoffset: calc(440 - (440 * 60)/100);
stroke: #c304fe;
}
.box:hover {
transform: translateY(-20px);
transition: all 0.5s;
}
.box:hover .number {
transform: scale(1.2);
transition: all 0.5s;
color: #fff !important;
}
.box:hover .text {
transform: scale(1.2);
transition: all 0.5s;
color: #fff !important;
}
.box .percent .number {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
color: #767576;
}
.box .percent .number h2 {
font-size: 48px;
}
.box .percent .number span {
font-size: 24px;
}
.box .text {
padding: 10px 0 0;
color: #999;
font-weight: 700;
letter-spacing: 1px;
}
</style>
</head>
</head>
<body>
<div class="box">
<div class="percent">
<svg>
<circle cx='70' cy='70' r='70'></circle>
<circle cx='70' cy='70' r='70'></circle>
</svg>
<div class="number">
<h2>87<span>%</span></h2>
</div>
</div>
<h2 class="text">Progress</h2>
</div>
<div class="box">
<div class="percent">
<svg>
<circle cx='70' cy='70' r='70'></circle>
<circle cx='70' cy='70' r='70'></circle>
</svg>
<div class="number">
<h2>85<span>%</span></h2>
</div>
</div>
<h2 class="text">Progress</h2>
</div>
<div class="box">
<div class="percent">
<svg>
<circle cx='70' cy='70' r='70'></circle>
<circle cx='70' cy='70' r='70'></circle>
</svg>
<div class="number">
<h2>60<span>%</span></h2>
</div>
</div>
<h2 class="text">Progress</h2>
</div>
</body>
</html>
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
前端动画素材在网页开发中扮演着重要角色,能够吸引用户注意、提升用户体验。以下是一些常见的前端动画素材的技术实现方式: CSS 动画:使用 CSS 属性(如@keyframes、transition、transform等)来实现动画效果。这种方式简单易用,适合实现简单的动画效果,如过渡、旋转、缩放等。 JavaScript 动画:通过 JavaScript 操作 DOM 元素的样式属性,实现更复杂、交互性更强的动画效果。常见的库包括 jQuery、Anime.js、GreenSock(GSAP)等,它们提供了丰富的动画函数和效果,使动画开发更加高效。 SVG 动画:使用 SVG(可缩放矢量图形)和 SMIL(同步多媒体集成语言)技术创建矢量图形动画,可以实现复杂的矢量图形动画效果,如路径动画、填充动画等。 Canvas 动画:通过 HTML5 Canvas 元素绘制图形,利用 JavaScript 控制绘制过程,实现高度可定制化的动画效果,适用于需要实时渲染的复杂动画场景。 WebGL 动画:基于 WebGL(Web图形库)的 3D 图形渲染技术,可以实现高性能的复杂动画效果,适合开发需要展示 3D 动画的网页。 React 动画库:如果你在使用 React 框架,可以考虑使用像 React Spring、Framer Motion 等专门为 React 设计的动画库,简化动画开发流程。 CSS 预处理器:使用像 Sass、Less 等 CSS 预处理器可以简化 CSS 编写过程,提高样式代码的可维护性,进而对动画效果的实现有所帮助。 综上所述,前端动画素材的技术实现方式多种多样,开发者可以根据项目需求和个人技术偏好选择合适的方式来实现动画效果。
资源推荐
资源详情
资源评论
收起资源包目录
【前端素材】模板-多种实用环形.zip (21个子文件)
环形
svg2.html 2KB
css.html 3KB
line渐变.html 2KB
index6.html 2KB
index4.html 5KB
首尾为圆形的圆弧进度条.htm 2KB
index2.html 2KB
circleManyFun.html 5KB
canvas.html 3KB
svg4.html 1KB
index7.html 2KB
svg3.html 962B
svg5.html 5KB
index.html 2KB
半圆环.htm 2KB
svg.html 624B
index3.html 2KB
purecss.html 2KB
svg6.html 1KB
index5.html 4KB
svg渐变.html 3KB
共 21 条
- 1
资源评论
枫蜜柚子茶
- 粉丝: 8982
- 资源: 5351
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功