纯CSS可控关键帧动画演示
<style>#outer {
position: relative;
margin: 20px auto;
width: 150px;
height: 150px;
border-radius: 50%;
border: 10px groove tan;
border-color: seagreen lightgreen forestgreen;
--state: running;
}
#outer:hover { --state: paused; }
#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 var(--state);
}
#outer::before { animation-delay: 0; }
#outer::after { animation-delay: -1s; }
@keyframes rot { to { transform: rotate(360deg); } }
</style>
<div id="outer"></div> 代码
<style>
#outer {
position: relative;
margin: 20px auto;
width: 150px;
height: 150px;
border-radius: 50%;
border: 10px groove tan;
border-color: seagreen lightgreen forestgreen;
--state: running;
}
#outer:hover { --state: paused; }
#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 var(--state);
}
#outer::before { animation-delay: 0; }
#outer::after { animation-delay: -1s; }
@keyframes rot { to { transform: rotate(360deg); } }
</style>
<div id="outer"></div>
animation-duration 为 8秒,所以,两个形状一样的菱形其中一个提前1秒运行动画,就可得出一楼的整体运行动画的效果。
至于可控,这是CSS的简单交互功能:利用 hover 伪类实现,当元素有鼠标指针移入,重新给 --state 变量赋值。这里,--state 初始值 running,animation 动画运行,hover 伪类则令 --state 的值为 paused,暂停。hover 触发的是一个反向机制,大概意思是哪里来哪里去,换言之,指针设备移入,触发初始状态 A 变为 B,移出,恢复当下 B 状态、A 状态运行。 纯代码设计的图案,漂亮{:4_187:} 鼠标触碰就暂停。看到黑黑解说得很详细呢{:4_199:} 矮油这小播咋长这么俊涅。。{:4_199:} 其中一个提前1秒运行动画,就可得出一楼的整体运行动画,
第一次看到用时间按制位置的。。
这个思路简直是神操作。。 看着是正方形,老师一直说菱形~~
把长宽改不一致之后,看着就是个菱形。{:4_199:}
小播径向渐变之后立体感也强,外圈立体,整体效果相当完美。。 南无月 发表于 2024-5-23 17:59
看着是正方形,老师一直说菱形~~
把长宽改不一致之后,看着就是个菱形。
小播径向渐变之后立体 ...
正方形是菱形的一种特殊形态,你把正方形旋转45度看看 南无月 发表于 2024-5-23 17:54
其中一个提前1秒运行动画,就可得出一楼的整体运行动画,
第一次看到用时间按制位置的。。
这个思路简直 ...
这有依据的,1/8 南无月 发表于 2024-5-23 17:51
矮油这小播咋长这么俊涅。。
可以打60分不呢 红影 发表于 2024-5-23 14:20
纯代码设计的图案,漂亮
感谢支持 红影 发表于 2024-5-23 14:21
鼠标触碰就暂停。看到黑黑解说得很详细呢
{:4_190:} 马黑黑 发表于 2024-5-23 18:07
感谢支持
原来css里也可以的,一直以为只有js里才行呢。 马黑黑 发表于 2024-5-23 18:08
这个颜色配置很好呢{:4_187:} 红影 发表于 2024-5-23 18:55
这个颜色配置很好呢
随意的,都可以的 红影 发表于 2024-5-23 18:51
原来css里也可以的,一直以为只有js里才行呢。
各有各的实现方式 马黑黑 发表于 2024-5-23 18:07
可以打60分不呢
98分。。还有两分上升空间{:4_170:} 马黑黑 发表于 2024-5-23 18:07
这有依据的,1/8
这个思路本身就超级厉害 马黑黑 发表于 2024-5-23 18:06
正方形是菱形的一种特殊形态,你把正方形旋转45度看看
这个知识点太熟了我必须同意啊。。{:4_170:}