分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

【CSS】环形进度条

发布时间:2023-09-06 02:26责任编辑:赖小花关键词:CSS

效果图

原理剖析

1.先完成这样一个半圆(这个很简单吧)

2.overflow: hidden;

3.在中间定位一个白色的圆形做遮挡

4.完成另一半

5.使用animate配合时间完成衔接

源码

<!DOCTYPE html><html><head> ???<meta charset="UTF-8"> ???<title>环形进度条</title> ???<style> ???????.wrapper { ???????????position: absolute; ???????????top: 0; ???????????right: 0; ???????????bottom: 0; ???????????left: 0; ???????????width: 4em; ???????????height: 4em; ???????????margin: auto; ???????} ???????.container { ???????????position: absolute; ???????????top: 0; ???????????bottom: 0; ???????????width: 2em; ???????????overflow: hidden; ???????} ???????.halfCir { ???????????width: 2em; ???????????height: 4em; ???????????background: red; ???????} ???????.container1 { ???????????left: 2em; ???????} ???????.container1 .halfCir { ???????????left: 0; ???????????border-radius: 0 4em 4em 0; ???????????transform-origin: 0 50%; ???????????animation: halfCir1 4s infinite linear; ???????????????????} ???????.container2 { ???????????left: 0; ???????} ???????.container2 .halfCir { ???????????border-radius: 4em 0 0 4em; ???????????transform-origin: 2em 2em; ???????????animation: halfCir2 4s infinite linear; ???????} ???????@keyframes halfCir1 { ???????????50%, 100% { ???????????????transform: rotateZ(180deg); ???????????} ???????} ???????@keyframes halfCir2 { ???????????0%, 50% { ???????????????transform: rotateZ(0); ???????????} ???????????100% { ???????????????transform: rotateZ(180deg); ???????????} ???????} ???????.wrapper::after { ???????????position: absolute; ???????????top: 0.5em; ???????????left: 0.5em; ???????????width: 3em; ???????????height: 3em; ???????????background: #fff; ???????????border-radius: 50%; ???????????content: ""; ???????????} ???????.cir { ???????????position: absolute; ???????????top: 0; ???????????right: 0; ???????????left: 0; ???????????width: 0.5em; ???????????height: 0.5em; ???????????margin: auto; ???????????background: red; ???????????border-radius: 50%; ???????} ???????.cir2 { ???????????transform-origin: 50% 2em; ???????????animation: cir2 4s infinite linear; ???????} ???????@keyframes cir2 { ???????????100% { ???????????????transform: rotateZ(360deg); ???????????} ???????} ???</style></head><body> ???<div class="wrapper"> ????????<div class="container container1"> ????????????<div class="halfCir"></div> ????????</div> ????????<div class="container container2"> ????????????<div class="halfCir"></div> ????????</div> ???????<div class="cir cir1"></div> ????????<div class="cir cir2"></div> ???</div></body></html>

【CSS】环形进度条

原文地址:https://www.cnblogs.com/linxian95/p/10141653.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved