前言
这是一个用来练习的css demo,如果有哪里写的不好,还请各位指正,一定虚心接受。嘻嘻
HT ML 布局
<div class="cont ai ner"> <div class="loading"> <div class="eat"></div> <div class="load"></div> <div class="load"></div> <div class="load"></div> </div> </div>
CSS 样式
主要使用了动画效果,通过 不断 控制元素的角度位置实现一个类似于 吃 豆人一样的loading demo。
body { m arg in: 0; padding: 0; background: # fff; } .container { pos IT ion: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .loading { position: relative; width: 200px; h ei ght: 50px; dis play : flex; } .eat { position: relative; width: 50px; height: 50px; left: 0; color: #ff0000; animation: eat-ani MATE 2.4s ease -i n-out infinite; } @keyfr am es eat-animate { 100% { left: 150px; } } .eat :: before { content: ''; position: absolute; width: 0; height: 0; width: 50px; height: 25px; top: 0; border-radius: 50px 50px 0 0; background: current Color; transform: rotate(-30 deg ); animation: eat -t op 2.4s ease-in-out infinite; } @keyframes eat-top { 20% { transform: rotate(-30deg); } 35% { transform: rotate(0deg); } 45% { transform: rotate(-30deg); } 60% { transform: rotate(0deg); } 70% { transform: rotate(-30deg); } 85% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } } .eat: :after { content: ''; position: absolute; width: 0; height: 0; width: 50px; height: 25px; bottom: 0; border-radius: 0 0 50px 50px; background: currentColor; transform: rotate(30deg); animation: eat-bottom 2.4s ease-in-out infinite; } @keyframes eat-bottom { 20% { transform: rotate(30deg); } 35% { transform: rotate(0deg); } 45% { transform: rotate(30deg); } 60% { transform: rotate(0deg); } 70% { transform: rotate(30deg); } 85% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } } .load { position: relative; width:30px; height: 30px; mar gin : 10px; color: #e47272; border-radius: 50%; background: currentColor; } .load:nth-child(2) { animation: load1 2.4s linear infinite; transform: scale(1); } @keyframes load1 { 35% { transform: scale(0); } 100% { transform: scale(0); } } .load:nth-child(3) { animation: load2 2.4s linear infinite; transform: scale(1); } @keyframes load2 { 30% { transform: scale(1); } 58% { transform: scale(0); } 100% { transform: scale(0); } } .load:nth-child(4) { animation: load3 2.4s linear infinite; transform: scale(1); } @keyframes load3 { 60% { transform: scale(1); } 80% { transform: scale(0); } 100% { transform: scale(0); } }
P rev iew
整体如上所示,如果有看不懂的也欢迎直接回复 .. .
目前持续更新中 https://github.com/ajycc20/easy-css-layout ,欢迎大佬们提出意见!!!
以及,有个star会更好啊 ( hhhh 逃
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
总结
以上是 为你收集整理的 CSS loading效果之 吃豆人的实现 全部内容,希望文章能够帮你解决 CSS loading效果之 吃豆人的实现 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于CSS loading效果之 吃豆人的实现的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did200897