<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼)

        來源:懂視網 責編:小采 時間:2020-11-02 22:07:54
        文檔

        如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼)

        如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼):本篇文章給大家帶來的內容是關于如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。效果預覽源代碼下載https://github.com/comehope/front-end-daily-challenge
        推薦度:
        導讀如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼):本篇文章給大家帶來的內容是關于如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。效果預覽源代碼下載https://github.com/comehope/front-end-daily-challenge
        本篇文章給大家帶來的內容是關于如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

        效果預覽

        100607057-5b998ed9b6d5a_articlex.gif

        源代碼下載

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

        代碼解讀

        定義 dom,容器包含 2 個元素,branch 代表枝,leaves 代表葉,葉有 6 個子元素,代表 6 個葉片:

        <figure class="sapling">
         <div class="branch"></div>
         <div class="leaves">
         <span></span>
         <span></span>
         <span></span>
         <span></span>
         <span></span>
         <span></span>
         </div>
        </figure>

        居中顯示:

        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 庫:

        <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/2.0.2/TweenMax.min.js"></script>

        聲明一個時間線對象:

        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});

        大功告成!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼)

        如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼):本篇文章給大家帶來的內容是關于如何使用CSS和GSAP實現樹枝發芽的loader動畫(附源碼) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。效果預覽源代碼下載https://github.com/comehope/front-end-daily-challenge
        推薦度:
        標簽: flex 動畫 源代碼
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲一区精品伊人久久伊人| 99久久人妻精品免费一区| 日本高清在线免费| 久久久久亚洲AV成人无码 | 久久丫精品国产亚洲av不卡| 你是我的城池营垒免费看| 午夜网站在线观看免费完整高清观看 | 成人免费的性色视频| 岛国大片免费在线观看| 日本一道高清不卡免费| 亚洲精品无码久久久久A片苍井空| 在线天堂免费观看.WWW| 亚洲一级特黄特黄的大片 | 丝袜捆绑调教视频免费区| 久久精品国产精品亚洲人人| 亚洲一区二区电影| 亚洲成人免费在线观看| 亚洲AV无码专区在线亚| 久久国产免费直播| 国产精品久久久久久久久久免费| 久久夜色精品国产噜噜亚洲a| 精品人妻系列无码人妻免费视频| 国产亚洲精午夜久久久久久| 国产成人AV片无码免费| 亚洲成a人片毛片在线| 免费的一级黄色片| 亚洲美女视频一区| 国产免费牲交视频免费播放| 久久久亚洲精品国产| 99无码人妻一区二区三区免费| 亚洲精品无码人妻无码| 亚洲一级片免费看| 3344永久在线观看视频免费首页 | 亚洲成a人无码亚洲成av无码| 黄网站免费在线观看| 亚洲欧洲日产v特级毛片| 国产美女无遮挡免费视频网站| 亚洲精品福利在线观看| 免费高清av一区二区三区| 国产又黄又爽胸又大免费视频 | 亚洲人成人一区二区三区|