You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.7 KiB
73 lines
1.7 KiB
.radial-progress {
|
|
@circle-size: 16px;
|
|
@circle-background: #d6dadc;
|
|
@circle-color: #0eb23a;
|
|
@inset-size: 6px;
|
|
@inset-color: #ffffff;
|
|
@transition-length: 0s;
|
|
@shadow: 0px 0px 0px rgba(0,0,0,0.1);
|
|
|
|
width: @circle-size;
|
|
height: @circle-size;
|
|
display: inline-block;
|
|
|
|
background-color: @circle-background;
|
|
border-radius: 50%;
|
|
.circle {
|
|
.mask, .fill, .shadow {
|
|
width: @circle-size;
|
|
height: @circle-size;
|
|
position: absolute;
|
|
border-radius: 50%;
|
|
}
|
|
.shadow {
|
|
box-shadow: @shadow inset;
|
|
}
|
|
.mask, .fill {
|
|
-webkit-backface-visibility: hidden;
|
|
transition: -webkit-transform @transition-length;
|
|
transition: -ms-transform @transition-length;
|
|
transition: transform @transition-length;
|
|
border-radius: 50%;
|
|
}
|
|
.mask {
|
|
clip: rect(0px, @circle-size, @circle-size, @circle-size/2);
|
|
.fill {
|
|
clip: rect(0px, @circle-size/2, @circle-size, 0px);
|
|
background-color: @circle-color;
|
|
}
|
|
}
|
|
}
|
|
.inset {
|
|
width: @inset-size;
|
|
height: @inset-size;
|
|
position: absolute;
|
|
margin-left: (@circle-size - @inset-size)/2;
|
|
margin-top: (@circle-size - @inset-size)/2;
|
|
|
|
background-color: @inset-color;
|
|
border-radius: 50%;
|
|
box-shadow: @shadow;
|
|
}
|
|
|
|
@i: 0;
|
|
@increment: 180deg / 100;
|
|
.loop (@i) when (@i <= 100) {
|
|
&[data-progress="@{i}"] {
|
|
.circle {
|
|
.mask.full, .fill {
|
|
-webkit-transform: rotate(@increment * @i);
|
|
-ms-transform: rotate(@increment * @i);
|
|
transform: rotate(@increment * @i);
|
|
}
|
|
.fill.fix {
|
|
-webkit-transform: rotate(@increment * @i * 2);
|
|
-ms-transform: rotate(@increment * @i * 2);
|
|
transform: rotate(@increment * @i * 2);
|
|
}
|
|
}
|
|
}
|
|
.loop(@i + 1);
|
|
}
|
|
.loop(@i);
|
|
}
|