.wrapper {
width: 100px; /* Set the size of the progress bar */
height: 100px;
position: absolute; /* Enable clipping */
clip: rect(0px, 100px, 100px, 50px); /* Hide half of the progress bar */
}
/* Set the sizes of the elements that make up the progress bar */
.circle {
width: 80px;
height: 80px;
border: 10px solid green;
border-radius: 50px;
position: absolute;
clip: rect(0px, 50px, 100px, 0px);
}
/* Using the data attributes for the animation selectors. */
/* Base settings for all animated elements */
div[data-anim~=base] {
-webkit-animation-iteration-count: 1; /* Only run once */
-webkit-animation-fill-mode: forwards; /* Hold the last keyframe */
-webkit-animation-timing-function:linear; /* Linear animation */
}
.wrapper[data-anim~=wrapper] {
-webkit-animation-duration: 0.01s; /* Complete keyframes asap */
-webkit-animation-delay: 3s; /* Wait half of the animation */
-webkit-animation-name: close-wrapper; /* Keyframes name */
}
.circle[data-anim~=left] {
-webkit-animation-duration: 6s; /* Full animation time */
-webkit-animation-name: left-spin;
}
.circle[data-anim~=right] {
-webkit-animation-duration: 3s; /* Half animation time */
-webkit-animation-name: right-spin;
}
/* Rotate the right side of the progress bar from 0 to 180 degrees */
@-webkit-keyframes right-spin {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(180deg);
}
}
/* Rotate the left side of the progress bar from 0 to 360 degrees */
@-webkit-keyframes left-spin {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
/* Set the wrapper clip to auto, effectively removing the clip */
@-webkit-keyframes close-wrapper {
to {
clip: rect(auto, auto, auto, auto);
}
}
<div class="wrapper" data-anim="base wrapper">
<div class="circle" data-anim="base left"></div>
<div class="circle" data-anim="base right"></div>
</div>
.circle-wrap .circle .mask,
.circle-wrap .circle .fill {
width: 150px;
height: 150px;
position: absolute;
border-radius: 50%;
}
.mask .fill {
clip: rect(0px, 75px, 150px, 0px);
background-color: #227ded;
}
Code Example |
---|
Css :: css border styles |
Css :: mb in bootstrap |
Css :: flex-flow |
Css :: css padding syntax |
Css :: css grid responsive |
Css :: css varianbes |
Css :: css animated background |
Css :: overflow-y scroll css |
Css :: css make ul on multiple lines |
Css :: nprogress css |
Css :: text-decoration |
Css :: css if select has value |
Css :: hiding text outside of border css |
Css :: css properties in html |
Css :: time an element to disappear css |
Css :: how to style rule to apply the Border Box model css |
Css :: line icon css |
Css :: css nth child range |
Css :: how to centralize cards in css |
Css :: css disable animation on load |
Css :: background origin css |
Css :: tampermonkey custom css |
Css :: showing two iframes side by side |
Css :: feature detect css |
Css :: flip something css |
Css :: css not working |
Css :: font awesome icons showing squares before after |
Css :: centrar imagen flexbox |
Css :: css3 ripple loop |
Css :: divs overlapping on mobile landscape |