html_css_demo/css/71.css

77 lines
1.7 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*{
/* 初始化 */
margin: 0;
padding: 0;
}
body{
/* 100%窗口高度 */
height: 100vh;
/* 弹性布局 水平+垂直居中 */
display: flex;
justify-content: center;
align-items: center;
background-color: #333;
}
.loader{
width: 650px;
height: 200px;
/* 相对定位 */
position: relative;
}
/* 小球 */
.loader span.ball{
width: 50px;
height: 50px;
border-radius: 50%;
background-color: lightseagreen;
/* 绝对定位 */
position: absolute;
/* 通过var函数调用自定义属性--i计算出每个小球的位置 */
left: calc(var(--i) * 100px);
/* 执行动画:动画名 时长 线性的 无限次播放 利用变量让小球的运动拉开时间 */
animation: jump 2s linear infinite calc(var(--i) * 0.3s);
}
/* 小球阴影 */
.loader span.shadow{
width: 50px;
height: 25px;
border-radius: 50%;
background-color: #000;
position: absolute;
left: calc(var(--i) * 100px);
bottom: -12.5px;
z-index: -1;
animation: shadow 2s linear infinite calc(var(--i) * 0.3s);
}
/* 定义动画 */
/* 小球跳动的动画 */
@keyframes jump {
0%,100%{
bottom: 150px;
}
40%,60%{
bottom: 0;
height: 50px;
}
50%{
height: 25px;
/* 加个颜色滤镜,改变小球的颜色 */
/* 可以设置不同的度数来改变颜色 */
filter: hue-rotate(180deg);
}
}
/* 小球阴影的变化 */
@keyframes shadow {
0%,100%{
transform: scale(2);
opacity: 0.1;
/* 模糊滤镜 */
filter: blur(5px);
}
40%,60%{
transform: scale(1);
opacity: 1;
filter: blur(2px);
}
}