We can often see the progress bar, but how to implement the progress bar? In our previous article (How to implement the progress bar in css3? Introduction to the implementation method of the progress bar in css3), we have briefly talked about the method of implementing the long progress bar in css3. Today’s article will give you Let’s introduce the implementation method of CSS3 circular progress bar. Interested friends can take a look.
We all know that it is very simple to make a static circular shape, just like the following
<!DOCTYPE html> <html> <head> <style> .circle{ width: 160px; height: 160px; border:20px solid orange; border-radius: 50%; } </style> </head> <body> <div class="circle"></div> </body> </html>
css3 circular effect is as follows:
But the circular progress bar is a dynamic effect, so it needs to be considered a lot. First, let’s take a look at the implementation ideas of the CSS circular progress bar:
We can divide the entire ring into left and right parts; both left and right semicircles are rotated. For example, first let the right semicircle rotate and then connect it to the left semicircle and then rotate the left semicircle. In this way, the rotation of the entire ring can be achieved, which is a circle. Progress bar.
Let’s take a look at the specific implementation method of css3 circular progress bar.
First let’s look at the implementation of the css3 right semicircle
<div class="right"> <div class="rightcircle"></div> </div>
.right{ position: relative; width: 100px; height: 200px; overflow: hidden; } .rightcircle{ width: 160px; height: 160px; border:20px solid transparent; border-radius: 50%; position: absolute; top:0; right: 0; border-top:20px solid lightblue; border-right:20px solid lightblue; -webkit-transform : rotate(45deg); -moz-transform : rotate(45deg); -o-transform : rotate(45deg); transform : rotate(45deg); /* 旋转45度 */ } /* 这里仅考虑webkit内核的情况,您可以写完整了 */ .rightcircle{ -webkit-animation-name: circle_right; /* 动画名称 */ -webkit-animation-duration: 5s; /* 完成一个动画需要的时间 */ -webkit-animation-timing-function: linear; /* 动画播放的方式,linear是匀速变化 */ -webkit-animation-iteration-count: infinite; /* 动画播放的次数,infinite是无限次数 */ } @-webkit-keyframes circle_right{ 0%{ transform : rotate(-135deg); } 100%{ transform : rotate(45deg); } }
The effect of the css3 right semicircle is as follows:
css3 left semicircle implementation and The right semicircle is just the opposite. The code is as follows:
.right{ position: relative; width: 100px; height: 200px; overflow: hidden; } .rightcircle{ width: 160px; height: 160px; border:20px solid transparent; border-radius: 50%; position: absolute; bottom:0; left: 0; border-bottom:20px solid lightblue; border-left:20px solid lightblue; -webkit-transform : rotate(45deg); -moz-transform : rotate(45deg); -o-transform : rotate(45deg); transform : rotate(45deg); /* 旋转45度 */ } /* 这里仅考虑webkit内核的情况,您可以写完整了 */ .rightcircle{ -webkit-animation-name: circle_right; /* 动画名称 */ -webkit-animation-duration: 5s; /* 完成一个动画需要的时间 */ -webkit-animation-timing-function: linear; /* 动画播放的方式,linear是匀速变化 */ -webkit-animation-iteration-count: infinite; /* 动画播放的次数,infinite是无限次数 */ } @-webkit-keyframes circle_right{ 0%{ transform : rotate(-135deg); } 100%{ transform : rotate(45deg); } }
css3 The effect of the left semicircle is as follows:
Both semicircles have been realized. Next, you only need to add the two semicircles. By splicing two semicircles together, you can achieve the effect of a css3 circular progress bar.
The code for realizing a circular progress bar in css3 is as follows:
<div class="circle_process"> <div class="wrapper right"> <div class="circle rightcircle"></div> </div> <div class="wrapper left"> <div class="circle leftcircle" id="leftcircle"></div> </div> </div>
The effect of a circular progress bar in css3 is as follows:
This article ends here. For more exciting content, you can pay attention to the php Chinese website! ! !
The above is the detailed content of How to implement a circular progress bar in css3? Implementation of circular progress bar in css3. For more information, please follow other related articles on the PHP Chinese website!