如何使用CSS和GSAP实现树枝发芽的loader动画(附源码)

本篇文章给大家带来的内容是关于如何使用cssgsap实现树枝发芽的loader动画(附源码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

100607057-5b998ed9b6d5a_articlex.gif

源代码下载

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器包含 2 个元素,branch 代表枝,leaves 代表叶,叶有 6 个子元素,代表 6 个叶片:

居中显示:

立即学习“前端免费学习笔记(深入)”;

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background-color: black;}

定义容器尺寸,并设置子元素水平居中:

.sapling {    position: relative;    width: 5em;    height: 17.5em;    font-size: 10px;    display: flex;    justify-content: center;}

画出树枝:

.branch {    position: absolute;    width: 0.2em;    height: inherit;    border-radius: 25%;    background: burlywood;}

定义树叶容器,设置为叶片在垂直方向均匀分布,并且从下到上排列:

.leaves {    position: absolute;    width: inherit;    height: 15em;    top: 1em;    display: flex;    flex-direction: column-reverse;}

设置叶片的尺寸和和背景颜色:

.leaves span {    width: 2.5em;    height: 2.5em;    background-color: limegreen;}

设置左右叶片的各自样式:

.leaves span:nth-child(odd) {    border-bottom-left-radius: 3em;    border-top-right-radius: 3em;    transform-origin: right bottom;    align-self: flex-start;}.leaves span:nth-child(even) {    border-bottom-right-radius: 3em;    border-top-left-radius: 3em;    transform-origin: left bottom;    align-self: flex-end;}

至此,静态效果绘制完成,接下来开始写动画脚本。
引入 GSAP 库:


声明一个时间线对象:

let animation = new TimelineMax();

增加树枝的入场动画效果,并为这个动画设置一个标签 branch

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch');

增加树叶的入场动画效果,它的参数中有 3 个 0.5,从左到右的含义分别是动画时长、多个叶片动画的间隔时长、相对 branch 标签动画的延迟时间:

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch')    .staggerFrom('.leaves span', 0.5, {scale: 0, ease: Power1.easeOut}, 0.5, 0.5, 'branch');

增加叶片变黄的动画效果:

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch')    .staggerFrom('.leaves span', 0.5, {scale: 0, ease: Power1.easeOut}, 0.5, 0.5, 'branch')    .to(['.branch', '.leaves span'], 3, {backgroundColor: 'yellow'});

增加淡出效果:

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch')    .staggerFrom('.leaves span', 0.5, {scale: 0, ease: Power1.easeOut}, 0.5, 0.5, 'branch')    .to(['.branch', '.leaves span'], 3, {backgroundColor: 'yellow'})    .to(['.branch', '.leaves span'], 1, {autoAlpha: 0});

修改声明时间线的代码,使动画重复播放:

let animation = new TimelineMax({repeat: -1, repeatDelay: 0.5});

大功告成!

相关推荐:

如何使用CSS和GSAP实现有多个关键帧的连续动画(附源码)

如何用CSS纯代码画一个旋转的太极图(附代码)

以上就是如何使用CSS和GSAP实现树枝发芽的loader动画(附源码)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1611750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:32:09
下一篇 2025年12月24日 02:32:34

相关推荐

  • 如何用纯css画一个跳动心?(代码实例)

    本章给大家带来如何用纯css画一个跳动心?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 先给大家看效果图: 实现原理: 1.可以把这个心分为两部分,两个长方形 ; 分别设置 border-radius; 让两个图形重合后,分别设置transform: rotate()…

    2025年12月24日 好文分享
    000
  • CSS中overflow-y: visible;不起作用的解决方法

    本篇文章给大家带来的内容是关于css中overflow-y: visible;不起作用的解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 场景 最近要做的一个需求是移动端的h5页面,要求有一排可选择的卡片, 超出容器部分可以左右滑动,同时每张卡片左上角要有一个删除按钮。如下图…

    2025年12月24日
    000
  • hightcharts 柱状图可变宽 无缝 时间刻度

    以前总结过Div的换行和不换行的css写法。但对于表格单元格只知道一个属性nowrap可以使其不换行。 近日有此需要,但发现加上nowrap在某些情况下还是会换行!无奈,没有一个强制不换行的方法吗? baidu了一下,令俺非常欣慰,还真的找到了办法,问题解决了。 Highcharts.chart(‘…

    2025年12月24日
    000
  • css 轮廓(outline)属性是如何使用的?轮廓属性与边框属性的区别(实例)

    本章给大家介绍css 轮廓(outline)属性是如何使用的?轮廓(outline)属性与边框(border)属性的区别(实例),让大家可以了解css中的轮廓(outline)属性的一些小知识,以及轮廓(outline)和边框(border)属性之间的区别。有一定的参考价值,有需要的朋友可以参考一下…

    2025年12月24日
    000
  • css清除浮动的方法有哪些?css浮动清除的四种方法介绍

    css清除浮动是在css布局中经常看到的,那么css中该如何清除浮动呢?本篇文章将给大家来介绍关于css清除浮动的方法,以及简单介绍为什么要使用css浮动。 我们上篇文章css浮动是什么意思?css为什么要清除浮动?中已经说到使用css浮动是因为在css中一些元素是块级元素,他们会自动启用新的一行,…

    好文分享 2025年12月24日
    000
  • css隐藏元素有哪些方法?css隐藏元素的四种常用方法介绍

    在网页开发的过程中,我们经常需要去隐藏某些元素,在需要的情况下才将其显示出来,那么,css隐藏元素的方法有哪些?本篇文章将给大家来介绍关于css隐藏元素的方法。 使用css隐藏页面元素有许多种方法。可以将 opacity 设为 0、将 visibility 设为 hidden、将 display 设…

    好文分享 2025年12月24日
    000
  • css如何设置滚动条?实例详解css滚动条设置的方法

    在网页的设计中,滚动条的设计是非常必要的,这样当文字或者图片超出容器大小,就会出现滚动条样式,那么,css如何设置滚动条呢?接下来就来给大家说一说css滚动条设置的方法。 首先我们来看一下css设置滚动条可能需要的属性。 1、overflow-y : 设置当对象的内容超过其指定高度时如何管理内容;o…

    好文分享 2025年12月24日
    000
  • 图文详解CSS align-content属性的使用方法

    大部分前端工作者对常用的一些css属性应该已经烂熟于心了吧,那今天就来聊聊稍微生僻的css属性,你知道怎么使用 css align-content 属性吗?align-content 都有哪些属性值呢?想知道的小伙伴们继续往下看吧。 一、CSS align-content属性的定义和使用方法 定义:…

    2025年12月24日
    000
  • css怎么引入外部字体?css 字体样式设置的方法(实例)

    在浏览器显示中,页面上不同的字体样式,不仅提升了页面的美观度,也提升了用户的浏览交互性。那么这些不同的字体样式是怎么用css设置的?本章就给大家带来css如何引入外部字体?css 字体样式设置的方法(实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、font-family属…

    好文分享 2025年12月24日
    000
  • 值得收藏的CSS实现水平垂直居中的10种方式总结

    本篇文章给大家带来的内容是关于值得收藏的css实现水平垂直居中的10种方式总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 划重点,这是一道面试必考题,很多面试官都喜欢问这个问题,我就被问过好几次了 要实现上图的效果看似很简单,实则暗藏玄机,本文总结了一下CSS实现水平垂直居中的…

    2025年12月24日
    000
  • 如何使用纯CSS实现悬停时右移的按钮效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现悬停时右移的按钮效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • css 如何使用精灵图?background属性介绍(代码实例)

    本章给大家介绍css 怎样使用精灵图?background属性介绍(代码实例),让大家可以了解css精灵图(雪碧图)是怎样使用的。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、css 如何使用精灵图? 介绍如何使用精灵图使用前,我们要先知道什么是精灵图。只有先知道什么是精灵图,…

    2025年12月24日
    000
  • 2种方法实现CSS隐藏滚动条并可以滚动内容的方法

    隐藏滚动条的同时还需要支持滚动,我们经常在前端开发中遇到这种情况,最容易想到的是加一个iscroll插件,但其实现在css也可以实现这个功能。本章给大家介绍2种方法实现css隐藏滚动条并可以滚动内容的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 方法1:计算滚动条宽度并隐藏起…

    2025年12月24日 好文分享
    000
  • 什么是web标准??

    本章给大家介绍什么是web标准??通过介绍大家可以对web标准有更深入的了解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 web标准 不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)…

    好文分享 2025年12月24日
    000
  • css如何隐藏页面元素?css 隐藏元素的四种实现方法以及之间的区别(代码实例)

    在css中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间;有的可以响应点击,有的不能响应点击。那么这些css方式是怎样实现隐藏元素的,之间又有什么区别。本章给大家介绍css如何隐藏页面元素?css隐藏元素的四种实现方法以及之间的区别(代码实例)。有一定的参考价值,有需…

    2025年12月24日 好文分享
    000
  • CSS中的选择器有哪些?你知道选择器的优先级顺序吗?

    作为前端工程师,对于css 选择器并不陌生吧。选择器是我们在布局时必不可少的一部分。那你知道css中的选择器有哪些吗?css选择器的优先级顺序又是怎么样的呢?当你知道了其中的奥秘,才能在工作中得心应手。接下来就聊聊css选择器以及他们的优先级顺序。 一、CSS选择器有哪些 CSS中的选择器很多,比如…

    好文分享 2025年12月24日
    000
  • css如何实现渐变效果?css背景色渐变与文字渐变效果的实现(代码实例)

    在前端网页开发的时候,往往会用到一些渐变色的效果,这样可以使得前端页面更加美观。那么这些渐变效果是如何用css代码实现出来的?本章就给大家带来css如何实现渐变效果?css背景色渐变与文字渐变效果的实现(代码实例),介绍css 渐变样式和如何实现css渐变。有一定的参考价值,有需要的朋友可以参考一下…

    2025年12月24日
    000
  • css浮动是什么意思?css为什么要清除浮动?

    在学习css的过程中,经常会看到css浮动和css清除浮动,那么,css浮动是什么意思?css为什么要清除浮动呢?本篇文章将给大家介绍关于css浮动的意思以及css清除浮动的理由。 一、首先我们来看一下css浮动是什么意思? 我们从百度百科上可以知道:float是css样式中的定位属性,用于设置标签…

    2025年12月24日
    000
  • css相对定位和绝对定位有什么区别?css相对定位和绝对定位对比分析

    css定位中有相对定位和绝对定位,那么css相对定位和绝对定位之间有什么不同呢?接下来的这篇文章将给大家分别介绍关于css相对定位和绝对定位的内容以及css相对定位和绝对定位的区别。 一、首先我们来看一看css相对定位 position: relative(相对定位):相对定位是相对于元素在文档中的…

    2025年12月24日
    000
  • css绝对定位如何居中?css绝对定位居中的四种实现方法

    在网页进行css布局时居中是经常需要用到的,其中就有css绝对定位居中,那么,css绝对定位如何实现居中?今天的这篇文章将给大家来介绍关于css绝对定位居中的实现方法。 推荐手册:CSS在线手册 css绝对定位居中的实现方法有很多,下面将给大家介绍css绝对定位居中的四种方法。 1、兼容性不错的主流…

    好文分享 2025年12月24日
    000

发表回复

登录后才能评论
关注微信