本帖最后由 凡哥 于 2024-5-23 12:35 编辑
2024年5月23日 星期四
刚做的一个纯CSS动画。效果如下:
代码
<style>
#outer {
position: relative;
margin: 20px auto;
width: 150px;
height: 150px;
border-radius: 50%;
border: 10px groove tan;
border-color: seagreen lightgreen forestgreen;
}
#outer::before, #outer::after {
position: absolute;
content: '';
width: 100%;
height: 100%;
background: radial-gradient(silver, green, lightgreen, snow, red);
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
animation: rot 8s linear infinite;
}
#outer::before { animation-delay: 0; }
#outer::after { animation-delay: -1s; }
@keyframes rot { to { transform: rotate(360deg); } }
</style>
<div id="outer"></div>
原理:
id="outer" 的div元素,在CSS中定义了两个伪元素,伪元素着径向渐变背景色,切成菱形,做 rot 关键帧动画,第二个伪元素提前一秒运行动画。 |