前端每日实战:114# 视频演示如何用纯 CSS 和混色模式创作一个 loader 动画
生活随笔
收集整理的這篇文章主要介紹了
前端每日实战:114# 视频演示如何用纯 CSS 和混色模式创作一个 loader 动画
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
效果預覽
按下右側的“點擊預覽”按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。
https://codepen.io/comehope/pen/MqYroW
可交互視頻
此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。
請用 chrome, safari, edge 打開觀看。
https://scrimba.com/p/pEgDAM/c2qZyUV
源代碼下載
每日前端實戰系列的全部源代碼請從 github 下載:
https://github.com/comehope/front-end-daily-challenges
代碼解讀
定義 dom,只有 1 個元素:
<div class="loader"></div>居中顯示:
body {margin: 0;height: 100vh;display: flex;align-items: center;justify-content: center;background-color: lightyellow; }定義容器尺寸:
.loader {width: 30em;height: 3em;font-size: 10px; }用偽元素畫出2個圓角矩形,各占容器的一半寬,放置在容器的左右兩端,分別上色:
.loader {position: relative; }.loader::before, .loader::after {content: '';position: absolute;width: 50%;height: inherit;border-radius: 1em; }.loader::before {left: 0;background-color: dodgerblue; }.loader::after {right: 0;background-color: hotpink; }為圓角矩形增加 'loading' 文本:
.loader::before, .loader::after {content: 'loading';font-size: 2.5em;color: white;text-align: center;line-height: 1em; }增加動畫效果:
.loader::before, .loader::after {animation: 5s move ease-in-out infinite; }@keyframes move {50% {transform: translateX(100%);} }為兩個圓角矩形分別設置運動方向變量,使它們相對移動:
.loader::before {--direction: 1; }.loader::after {--direction: -1; }@keyframes move {50% {transform: translateX(calc(100% * var(--direction)));} }最后,設置混色模式,使兩個矩形相交的部分不是覆蓋而是使顏色重疊:
.loader::before, .loader::after {mix-blend-mode: multiply; }大功告成!
總結
以上是生活随笔為你收集整理的前端每日实战:114# 视频演示如何用纯 CSS 和混色模式创作一个 loader 动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式锁—3.Redisson的公平锁
- 下一篇: 8.22 13.1-13.3