Jadual Kandungan
如何使用CSS实现圆点移动的动图效果
Aug 03, 2018 am 10:08 AM
css
css3
html5
hujung hadapan
这篇文章给大家分享的内容是关于如何使用CSS实现圆点移动的动图效果,有一定的参考价值,有需要的朋友可以从参考一下,希望对你有所帮助。
效果预览

源代码下载
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,容器中包含 5 个元素,每个元素代表 1 个小球:
<p class="loader"> <span></span> <span></span> <span></span> <span></span> <span></span> </p>
Salin selepas log masuk
居中显示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at center, sienna, maroon); }
Salin selepas log masuk
定义容器尺寸:
.loader { width: 6em; height: 1em; font-size: 40px; }
Salin selepas log masuk
画出圆点:
.loader { position: relative; } .loader span { position: absolute; width: 1em; height: 1em; background-color: white; border-radius: 50%; left: 5em; }
Salin selepas log masuk
定义小球从右到左移动以及从左侧返回到右侧的动画效果:
.loader { --duration: 5s; } .loader span { animation: walk linear infinite; animation-duration: var(--duration); } @keyframes walk { 0%, 95%, 100% { left: 5em; } 80%, 85% { left: 0; } }
Salin selepas log masuk
再增加小球在最左端向上跳起和在最右端向下落下的动画效果:
.loader span { animation: walk linear infinite, jump linear infinite; } @keyframes jump { 80%, 100% { top: 0; } 85%, 95% { top: -1em; } }
Salin selepas log masuk
再增加小球在从左侧返回到右侧时,因运动得快而稍被压扁的效果:
.loader span { animation: walk linear infinite, jump linear infinite, squash linear infinite; } @keyframes squash { 80%, 100% { width: 1em; height: 1em; } 90% { width: 2em; height: 0.8em; } }
Salin selepas log masuk
为 5 个小球分别定义变量:
.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; }
Salin selepas log masuk
声明小球的数量:
.loader { --dots: 5; }
Salin selepas log masuk
设置动画延时:
.loader span { animation-delay: calc(var(--n) * var(--duration) / var(--dots) * -1); }
Salin selepas log masuk
最后,把点的尺寸改小一些:
.loader { font-size: 20px; }
Salin selepas log masuk
大功告成!
相关推荐:
如何使用CSS实现变色旋转动画的动态效果Atas ialah kandungan terperinci 如何使用CSS实现圆点移动的动图效果. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
3 minggu yang lalu
By DDD

Alat panas Tag

Artikel Panas
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
3 minggu yang lalu
By DDD

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
