Home >Web Front-end >CSS Tutorial >How to Create a CSS Progress Circle that Stops at Specific Percentages?
CSS Progress Circle with Partial Completion Indication
Introduction:
Circular progress bars are a common UI element used to indicate progress or completion status. However, many CSS progress bars display full animations that reach 100%. This article demonstrates how to create a CSS progress circle that can stop at specific percentages, as seen in the screenshot below:
[Screenshot of circular progress bars with partial completion]
Solution:
To achieve this, we utilize CSS clipping and animations. The clip property is used to hide a portion of the progress circle, while the animation property defines the rotation of the circle.
CSS Code:
.wrapper { width: 100px; height: 100px; position: absolute; clip: rect(0px, 100px, 100px, 50px); } .circle { width: 80px; height: 80px; border: 10px solid green; border-radius: 50px; position: absolute; clip: rect(0px, 50px, 100px, 0px); } div[data-anim~=base] { -webkit-animation-iteration-count: 1; -webkit-animation-fill-mode: forwards; -webkit-animation-timing-function:linear; } .wrapper[data-anim~=wrapper] { -webkit-animation-duration: 0.01s; -webkit-animation-delay: 3s; -webkit-animation-name: close-wrapper; } .circle[data-anim~=left] { -webkit-animation-duration: 6s; -webkit-animation-name: left-spin; } .circle[data-anim~=right] { -webkit-animation-duration: 3s; -webkit-animation-name: right-spin; } @-webkit-keyframes right-spin { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(180deg); } } @-webkit-keyframes left-spin { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } } @-webkit-keyframes close-wrapper { to { clip: rect(auto, auto, auto, auto); } }
HTML Code:
<div class="wrapper" data-anim="base wrapper"> <div class="circle" data-anim="base left"></div> <div class="circle" data-anim="base right"></div> </div>
This solution ensures that the progress circle animates smoothly, with the ability to pause at specific percentages, as desired.
The above is the detailed content of How to Create a CSS Progress Circle that Stops at Specific Percentages?. For more information, please follow other related articles on the PHP Chinese website!