日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

如何用纯 CSS 创作一个文本淡入淡出的 loader 动画

發布時間:2023/12/2 CSS 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

效果預覽

在線演示

按下右側的“點擊預覽”按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。


https://codepen.io/comehope/pen/ERwpeG


可交互視頻


此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。


請用 chrome, safari, edge 打開觀看。


https://scrimba.com/p/pEgDAM/cED8KsK


源代碼下載


本地下載

每日前端實戰系列的全部源代碼請從 github 下載:


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


代碼解讀


定義 dom,容器是包含 7 個子元素,每個子元素中有一個字母:

<div class="loader"><span>l</span><span>o</span><span>a</span><span>d</span><span>i</span><span>n</span><span>g</span> </div>

居中顯示:

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

設置容器尺寸:

.loader {width: 40em;height: 3em; }

設置文字樣式:

.loader {color: dodgerblue;font-size: 1.5em;text-transform: uppercase;font-family: sans-serif; }

給文字增加漸隱漸顯動畫:

.loader span {animation: moving 2s linear infinite; }@keyframes moving {0% {filter: opacity(0);}33% {filter: opacity(1);}66% {filter: opacity(1);}100% {filter: opacity(0);} }

設置動畫延時,增強動畫效果:

.loader span {animation-delay: calc((var(--n) - 10) * 0.2s) }.loader span:nth-child(1) {--n: 1; }.loader span:nth-child(2) {--n: 2; }.loader span:nth-child(3) {--n: 3; }.loader span:nth-child(4) {--n: 4; }.loader span:nth-child(5) {--n: 5; }.loader span:nth-child(6) {--n: 6; }.loader span:nth-child(7) {--n: 7; }

設置文字旋轉效果:

.loader {position: relative; }.loader span {position: absolute;height: 3em; }@keyframes moving {0% {filter: opacity(0);transform: rotate(-180deg);}33% {filter: opacity(1);transform: rotate(0deg);}66% {filter: opacity(1);transform: rotate(0deg);}100% {filter: opacity(0);transform: rotate(180deg);} }

增加文字移動的效果:

@keyframes moving {0% {filter: opacity(0);transform: rotate(-180deg);left: 100%;}33% {filter: opacity(1);transform: rotate(0deg);left: 60%;}66% {filter: opacity(1);transform: rotate(0deg);left: 40%;}100% {filter: opacity(0);transform: rotate(180deg);left: 0;} }

增加文字變色效果:

.loader {animation: change-color 10s linear infinite; }@keyframes change-color {0% {color: dodgerblue;}20% {color: hotpink;}40% {color: gold;}60% {color: mediumpurple;}80% {color: lightgreen;}100% {color: dodgerblue;} }

最后,把可能出現在頁面外的部分隱藏掉:

body {overflow: hidden; }

大功告成!

原文地址:https://segmentfault.com/a/1190000015305861


更多專業前端知識,請上 【猿2048】www.mk2048.com

總結

以上是生活随笔為你收集整理的如何用纯 CSS 创作一个文本淡入淡出的 loader 动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。