css - - - - - 环形倒计时进度条实现
/* 环形倒计时进度条样式 */
.circular-countdown {
position: relative;
width: 100px;
height: 100px;
}
.circular-countdown .circle-bg {
position: absolute;
width: 100%;
height: 100%;
clip: rect(0px, 50px, 100px, 0px); /* 剪切成上半圆形 */
background: conic-gradient(#000 0%, #000 30%, transparent 30%); /* 创建一个由黑色到透明的圆锥渐变 */
animation: rotate 2s linear infinite; /* 应用无限循环的旋转动画 */
}
.circular-countdown .circle-fill {
position: absolute;
width: 100%;
height: 100%;
clip: rect(0px, 50px, 100px, 0px); /* 剪切成上半圆形 */
background: conic-gradient(#000 0%, #000 30%, transparent 30%); /* 创建一个由黑色到透明的圆锥渐变 */
animation: rotate-fill 2s linear infinite; /* 应用无限循环的填充旋转动画 */
}
/* 旋转动画 */
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
/* 填充旋转动画 */
@keyframes rotate-fill {
from {
transform: rotate(-360deg);
}
to {
transform: rotate(0deg);
}
}
这个CSS样式定义了一个环形倒计时进度条,它通过clip
属性将SVG元素剪切成上半圆形,并使用conic-gradient
创建渐变效果。通过animation
属性实现旋转动画,模拟倒计时的效果。这个实现方法展示了如何利用CSS的剪切和渐变特性创建复杂的视觉效果。
评论已关闭