3.花瓣特效----js+旋转+位移

1.用CSS写花瓣特效感觉写得不够灵活,很多地方都要自己计算位置,所以想用js来动态计算,我们只需要提供半径、花瓣的宽度、高度等,就可以来修改动画。

2.思路:

1.需要先知道外部容器的宽度wrapper_w和高度wrapper_h,接着获取花瓣的宽度petal_w和高度petal_h,然后将8个花瓣的div定位到外部容器的中心(为了之后的方便旋转),中心的left为(wrapper_w-petal_w)/2,top为(wrapper_h-petal_h)/2;
2.接着利用设置的花瓣半径,来计算每个div距离中心的位置,因为有8个div,所以每45度的边上就有一个div,如下图所示:
在这里插入图片描述

在这里插入图片描述
3.然后获得8个div的动画,为其动态的添加@keyframes动画帧,之后就可以随意修改动画的参数了。

3.具体代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet" href="css/animate.css">
  <style>
    .raote-an{
      width: 100%;
      height: 500px;
      background: #424242 ;
    }
    .raote-an .container{
      position: relative;
      width: 480px;
      height: 480px;
      animation: mine3 5s linear infinite ;
      transition: all 5s;
    }
    @keyframes mine3 {
      0%{
        transform: rotate(0deg);
      }
      100%{
        transform: rotate(360deg);
      }
    }
    .raote-an .container div{
      position: absolute;
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值