網頁動畫實驗室#1 — 文字動畫滑入 - Medium
文章推薦指數: 80 %
課名叫:網頁動畫與互動程式入門-HTML/CSS/JS/Sass/Pug 一方面是自我學習 ... 的文字滑入特效,覺得很漂亮,就開始思考要怎麼完成這樣的動畫效果呢?
GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWrite網頁動畫實驗室#1—文字動畫滑入案例解析DASH-creativeagencyhongkongDASHisaHongKongbasedcreativeagencyfoundedin2005.Wecuratecompellingcontentsandcreateengagingdesigns…www.dash.com.hk之前寫網頁開發一陣子了,但一直沒有機會專研設計、動畫。
最近開始想往這方式多嘗試,剛好看到Dash官網進入畫面的文字滑入特效,覺得很漂亮,就開始思考要怎麼完成這樣的動畫效果呢?https://www.dash.com.hk/這個案子,他延遲的動畫做得很漂亮,搭配切字延遲滑入,就可以完成這樣的動畫效果。
第一個步驟—將文字拆成不同的span首先第一步,我們要先將文字拆成不同的元素,才能去控制動畫。
因為每個字要分別滑進來,所以我們要把每個字分別變成獨立的span。
在這裡我們希望用最簡單的html內容套進去就好,給他一個class,讓CSS3處理動畫的部分
接下來我們要用到js來把這一行每個字拆開成不同的spanvartitleEls=document.querySelectorAll(".slideLeftIn")titleEls.forEach(el=>{el.innerHTML=el.innerText.split("").map(l=>l==="\n"?`
`:`${l}`).join("")})第二個步驟—製作文字滑入的效果接下來我們要製作讓文字左側劃入的效果。
這裡會用到CSS3的transform。
首先,先讓每個span作移到螢幕外面spandisplay:inline-blocktransform:translateX(-1200px)transition:0s接下來,再啟動網頁時,透過javascript將其加上active的class,讓span們移動到螢幕中央&.activespandisplay:inline-blocktransform:translateX(0px)transition:0.8s第三個步驟—文字滑入延遲特效每個文字要照順序滑入,這裡我們透過Sass將每個字的動畫間隔設成0.3秒&.activespan@for$ifrom1through100&:nth-of-type(#{$i})transition-delay:#{$i*0.3s}display:inline-blocktransform:translateX(0px)transition:0.8s接下來要調整文字滑入的速度感,這裡我們會用到貝茲曲線。
貝茲曲線的直要稍微調一下,才會有延遲滑入的美感。
&.activespan@for$ifrom1through100&:nth-of-type(#{$i})transition-delay:#{$i*0.3s}display:inline-blocktransform:translateX(0px)transition:0.8scubic-bezier(0,.54,0,.75)完成啦!這個案子,最大的挑戰在延遲的速度感,如果沒有抓好的話,其實看起來沒那個好感。
調整得好,才會有文字疊加的那種感覺喔!參考資料:這次的拆解來源:www.dash.com.hk範例連結:https://codepen.io/frank890417/pen/dyPbgWW?editors=0011CSStransitioncurve曲線網站:https://easings.net/#線下課程我暑假會在台大資工的系統訓練班,開一堂教網頁設計的課,上課時間是7/20開始14晚上,為期五週。
課名叫:網頁動畫與互動程式入門-HTML/CSS/JS/Sass/Pug一方面是自我學習跟成長,另一方面是分享自己所學歡迎大家報名:https://train.csie.ntu.edu.tw/train/course.php?id=2977--MorefromYiYaoHuangFollowMyinterestisdevelopinggoodtoolstohelppeopleinspiretheircreativity.Lovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedYiYaoHuang123FollowersMyinterestisdevelopinggoodtoolstohelppeopleinspiretheircreativity.FollowMorefromMediumUnbrokenBadgerAreyouoverwhelmed?SoamI.AdemitopeIbrahimGratitudeoverattitudeAtiggnaAboutcollegeBoniManaliliBrokenHallelujahHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 13-打字特效炫起來!(CSS Animation) - iT 邦幫忙
換字效果:讓文字每出現一行之後就往上移動一個單位,就會產生換字效果了~. 直接看code &裡面的敘述解釋吧:. 上code! //html <div class= ...
- 2css : 簡單做出「 輸入文字」動態效果 - 昕力官網
我們只需要用到css animation 屬性就可以達到這個效果,讓我們跟著步驟繼續看下去吧! Step 1. 先把html 的架構寫出來 <div class ...
- 3為您的網站提供35種CSS文字效果
CSS和HTML中的文本動畫
- 4免費CSS文字動畫網站,酷炫的文字特效 - Techmarks劃重點
直接複製HTML+CSS+JS程式碼即可貼入到網站中,有了這些酷炫又吸睛的文字效果,網頁質感大加分。 tobiasahlin文字動畫CSS. STEP1. 前往tobiasahlin免費文字動畫...
- 516款「anime.js」酷炫文字動畫特效源碼大公開,立即拷貝並套用