前言
这是一个用来练习的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测试数据/ajycc20/easy-css-layout ,欢迎大佬们提出意见!!!
以及,有个star会更好啊 ( hhhh 逃
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
总结
以上是 为你收集整理的 CSS loading效果之 吃豆人的实现 全部内容,希望文章能够帮你解决 CSS loading效果之 吃豆人的实现 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于CSS loading效果之 吃豆人的实现的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did200897