点击查看【bilibili】
本案例是一个动画效果
思路
1.写好7个对应的条状盒子(flex布局)
2.设置animate动画(阴影、缩放、平移)
3.设置动画延迟产生波浪效果
代码
html
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>box shadow加载动画</title><link rel="stylesheet" href="style.css"></head><body><div class="loader"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div></body></html>
css
body {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background-color: #2196f3;
}
.loader {
position: relative;
display: flex;
}
.loader span {
width: 50px;
height: 300px;
margin: 0 20px;
background-color: #2196f3;
animation: animate 1.4s linear infinite;
}
.loader span:nth-child(1) {
animation-delay: 0s;
}
.loader span:nth-child(2) {
animation-delay: 0.2s;
}
.loader span:nth-child(3) {
animation-delay: 0.4s;
}
.loader span:nth-child(4) {
animation-delay: 0.6s;
}
.loader span:nth-child(5) {
animation-delay: 0.8s;
}
.loader span:nth-child(6) {
animation-delay: 1s;
}
.loader span:nth-child(7) {
animation-delay: 1.2s;
}
@keyframes animate {
0% {
box-shadow: 0 0 0 rgba(0, 0, 0, .5);
opacity: 0;
transform: translateX(-50px) scale(1);
}
50% {
box-shadow: 0 20px 50px rgba(0, 0, 0, .5);
opacity: 1;
transform: translateX(0) scale(1.2);
}
100% {
box-shadow: 0 0 0 rgba(0, 0, 0, .5);
opacity: 0;
transform: translateX(50px) scale(1);
}
}
需要掌握的知识
css
animation
transform
box-shadow
