要实现一个带齿状、渐变旋转且渐变区域不变的圆环效果,可以使用CSS的conic-gradient
、mask
、animation
等特性。以下是一个实现该效果的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>带齿状、渐变旋转且渐变区域不变的圆环</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
margin: 0;
}
.ring {
position: relative;
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(
from 0deg,
#ff7e5f 0%,
#feb47b 25%,
#ff7e5f 50%,
#feb47b 75%,
#ff7e5f 100%
);
mask: radial-gradient(
circle,
transparent 50%,
#000 50%
);
animation: rotate 5s linear infinite;
}
.ring::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
background: conic-gradient(
from 0deg,
#ff7e5f 0%,
#feb47b 25%,
#ff7e5f 50%,
#feb47b 75%,
#ff7e5f 100%
);
mask: radial-gradient(
circle,
transparent 50%,
#000 50%
);
animation: rotate 5s linear infinite reverse;
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<div class="ring"></div>
</body>
</html>
.ring
类:
conic-gradient
创建一个锥形渐变背景,颜色从 #ff7e5f
到 #feb47b
渐变。mask
属性创建一个径向渐变遮罩,使得圆环中间部分透明,形成圆环效果。animation
属性实现圆环的旋转效果。.ring::before
伪元素:
.ring
相同的圆环,但旋转方向相反,以增强视觉效果。reverse
关键字使伪元素的旋转方向与 .ring
相反。@keyframes rotate
:
0deg
到 360deg
的旋转动画,使圆环不断旋转。你可以根据需要调整颜色、大小、旋转速度等参数,以达到你想要的效果。