CSS 实现风吹动树叶的动画

如题,要实现树叶在风中摇摆的动画,首先准备主体:树叶

这里准备了两张矢量的高清版 SVG 格式的不同种类的树叶。

c2f48f8af9395c31008bb76fb090531d.png d20202002e9e2d6ca4f688663ef4eeda.png

首先我们使用 img 标签来在网页中显示树叶,然后给它一个名为 leaf 的类,好给它附加样式。

<img class="leaf" src="/blog/virtual_safari_leaf.svg" alt="Leaf" />

接下来就是编写 CSS 动画代码,这里利用了 tranform 属性中的两个变换,skew 将元素在二维平面上倾斜角度进行拉伸,rotate 以中心为坐标轴进行旋转。

.leaf {
  transform: scale(0.8);
  animation: leftRuffle 3s infinite alternate;
}

@keyframes leftRuffle {
  50% {
    transform: scale(0.8) skew(5deg) rotate(-5deg);
  }
  100% {
    transform: scale(0.8) skew(0) rotate(0);
  }
}

我们先让第一个树叶动起来

b096e61dfc6107ec962c1d54b879df81.png

第二个树叶我们将它左右翻转下,利用 scaleX(-1),然后同理

.leaf {
  transform: scale(0.7) scaleX(-1);
  animation: rightRuffle 3s infinite alternate;
}

@keyframes rightRuffle {
  0% {
    transform: scale(0.7) scalex(-1) skew(0) rotate(0);
  }
  50% {
    transform: scale(0.7) scalex(-1) skew(5deg) rotate(-5deg);
  }
  100% {
    transform: scale(0.7) scalex(-1) skew(0) rotate(0);
  }
}
77d4ab55f3b74684fa3a5a65f1e6f2b4.png

动是动起来了,可单独看是否觉得有点奇怪。

我们给它增加一个场景:

通常这种大树叶的绿植要么生长在热带雨林,要么被我们放在室内当做风景或者背景。

28b1a424e99d5dc42345418614ec7c6f.png

原文阅读体验更佳:https://spacexcode.com/blog/animate-leaf

- END -

相关推荐

  1. css动画旋转效果实现

    2024-01-11 06:36:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 06:36:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 06:36:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 06:36:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 06:36:01       18 阅读

热门阅读

  1. HJ12 字符串反转

    2024-01-11 06:36:01       38 阅读
  2. Linux中用于自动化交互式程序的工具!expect

    2024-01-11 06:36:01       37 阅读
  3. Spring面试整理-Spring注解

    2024-01-11 06:36:01       32 阅读
  4. webpack vite下px转vw方案postcss-px-to-viewport,兼容vant

    2024-01-11 06:36:01       34 阅读
  5. LeetCode 33. 搜索旋转排序数组

    2024-01-11 06:36:01       35 阅读
  6. opencv仿射变换

    2024-01-11 06:36:01       29 阅读
  7. selenium自动发数据到console并获取返回数据

    2024-01-11 06:36:01       40 阅读
  8. Windows+Qt5.14.2+android x86配置(待完善)

    2024-01-11 06:36:01       42 阅读