Home > Web Front-end > CSS Tutorial > How to implement a circular progress bar in css3? Implementation of circular progress bar in css3

How to implement a circular progress bar in css3? Implementation of circular progress bar in css3

不言
Release: 2018-10-20 10:34:00
Original
11748 people have browsed it

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>
Copy after login

css3 circular effect is as follows:

How to implement a circular progress bar in css3? Implementation of circular progress bar in css3

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>
Copy after login
.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);
    }
}
Copy after login

The effect of the css3 right semicircle is as follows:

How to implement a circular progress bar in css3? Implementation of circular progress bar in css3

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);
    }
}
Copy after login

css3 The effect of the left semicircle is as follows:

How to implement a circular progress bar in css3? Implementation of circular progress bar in css3

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>
Copy after login
rrree

The effect of a circular progress bar in css3 is as follows:

How to implement a circular progress bar in css3? Implementation of circular progress bar in css3

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template