html_css_demo/css/77.css

88 lines
1.9 KiB
CSS

*{
/* 初始化 */
margin: 0;
padding: 0;
}
body{
/* 100%窗口高度 */
height: 100vh;
/* 弹性布局 水平+垂直居中 */
display: flex;
justify-content: center;
align-items: center;
background-color: #000;
}
.loader{
/* 相对定位 */
position: relative;
/* 自定义属性--c */
--c: #48c0a3;
}
.loader .square{
width: 200px;
height: 200px;
/* 通过var函数调用自定义属性--c */
background-color: var(--c);
/* 阴影 外发光效果 */
box-shadow: 0 0 15px var(--c),
0 0 30px var(--c),
0 0 60px var(--c);
/* 设置旋转元素的基点位置 */
transform-origin: bottom right;
/* 执行动画: 动画名 时长 线性 无限次播放 */
animation: roll 1s linear infinite;
}
/* 黑色遮罩(挖空方形) */
.loader .square::before{
content: "";
width: 150px;
height: 150px;
/* 绝对定位 居中 */
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
background-color: #000;
/* 阴影 内发光效果 */
box-shadow: inset 0 0 15px var(--c),
inset 0 0 30px var(--c),
inset 0 0 60px var(--c);
}
.loader .text{
position: absolute;
width: 300px;
height: 40px;
line-height: 40px;
left: -40px;
bottom: -80px;
/* 溢出隐藏 */
overflow: hidden;
}
.loader .text p{
color: var(--c);
font-size: 24px;
white-space: nowrap;
/* 文字发光效果 */
text-shadow: 0 0 2px var(--c),
0 0 4px var(--c),
0 0 8px var(--c);
position: absolute;
/* 默认移出可视范围 */
left: 100%;
/* 执行动画 */
animation: move 3.5s linear infinite;
}
/* 定义动画 */
/* 方块旋转动画 */
@keyframes roll {
100%{
transform: translateX(-100%) rotateZ(90deg);
}
}
/* 文本移动动画 */
@keyframes move {
100%{
left: -50%;
}
}