如何用纯css实现间隔动画

 

纯css实现间隔动画

创建一个简单的风车(Pinwheel)效果的HTML页面,你可以结合HTML、CSS和JavaScript来实现。以下是一个基本的示例,展示了如何创建一个旋转的风车效果。

  1. HTML部分

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>风车效果</title>  
    <link rel="stylesheet" href="styles.css">  
</head>  
<body>  
    <div class="pinwheel">  
        <div class="blade"></div>  
        <div class="blade"></div>  
        <div class="blade"></div>  
        <div class="blade"></div>  
    </div>  
    <script src="script.js"></script>  
</body>  
</html>

 

  1. CSS部分(styles.css):

body {  
    display: flex;  
    justify-content: center;  
    align-items: center;  
    height: 100vh;  
    margin: 0;  
    background-color: #f0f8ff;  
}  
  
.pinwheel {  
    position: relative;  
    width: 100px;  
    height: 100px;  
    transform-origin: center center;  
    animation: spin 5s linear infinite;  
}  
  
.blade {  
    position: absolute;  
    width: 50px;  
    height: 100px;  
    background: linear-gradient(to bottom, rgba(232, 61, 147, 0.842), rgb(36, 37, 39));  
    transform-origin: 0% 100%;  
    border-radius: 10px 10px 0 0;  
}  
  
.blade:nth-child(1) {  
    transform: rotate(0deg) translateX(50px);  
}  
  
.blade:nth-child(2) {  
    transform: rotate(90deg) translateX(50px);  
}  
  
.blade:nth-child(3) {  
    transform: rotate(180deg) translateX(50px);  
}  
  
.blade:nth-child(4) {  
    transform: rotate(270deg) translateX(50px);  
}  
  
@keyframes spin {  
    from {  
        transform: rotate(0deg);  
    }  
    to {  
        transform: rotate(360deg);  
    }  
}

css复制代码

 

  1. JavaScript部分(script.js):

document.addEventListener('DOMContentLoaded', function() {  
    const pinwheel = document.querySelector('.pinwheel');  
  
    // Example: Pause the pinwheel after 3 seconds  
    setTimeout(() => {  
        pinwheel.style.animationPlayState = 'paused';  
    }, 3000);  
  
    // Example: Resume the pinwheel after another 3 seconds  
    setTimeout(() => {  
        pinwheel.style.animationPlayState = 'running';  
    }, 6000);  
});

在这个简单的示例中,我们其实不需要JavaScript,因为CSS动画已经实现了风车的效果。但如果你想要通过JavaScript来控制风车的旋转,比如暂停或改变旋转速度,可以添加以下代码:

 

javascript复制代码

 

在这个示例中,我们使用了CSS动画来创建风车旋转的效果,并通过@keyframes定义了旋转动画。每个风车的叶片通过CSS的transform属性来定位和旋转。

你可以根据需要调整CSS中的颜色、尺寸和动画时间等属性,以达到你想要的视觉效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件技术NINI

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值