使用CSS3实现牛顿摇摆球动画
要使用CSS3实现牛顿摇摆球动画,我们可以使用@keyframes规则来定义动画,然后使用animation属性将动画应用到元素上。以下是一个简单的实现示例:
HTML:
<div class="newton-cradle">
<div class="ball"></div>
<div class="ball"></div>
<div class="ball"></div>
<div class="ball"></div>
<div class="ball"></div>
</div>
CSS:
.newton-cradle {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f5f5f5;
}
.ball {
width: 50px;
height: 50px;
margin: 0 10px;
background-color: #333;
border-radius: 50%;
animation: swing 1s infinite alternate;
}
.ball:nth-child(1) { animation-delay: 0s; }
.ball:nth-child(2) { animation-delay: 0.2s; }
.ball:nth-child(3) { animation-delay: 0.4s; }
.ball:nth-child(4) { animation-delay: 0.6s; }
.ball:nth-child(5) { animation-delay: 0.8s; }
@keyframes swing {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-20px); }
}
在这个示例中,我们创建了一个包含5个球的牛顿摇摆球。每个球都应用了swing动画,该动画使用@keyframes规则定义。动画将球在垂直方向上移动,模拟摇摆效果。通过使用animation-delay属性,我们可以为每个球设置不同的延迟,从而创建出更自然的摇摆效果。
请注意,这只是一个简单的示例,你可以根据需要调整动画的持续时间、振幅和延迟等参数来达到你想要的效果。此外,你还可以使用JavaScript来增强交互性或实现更复杂的动画效果。
浙公网安备 33010602011771号