HTML5+CSS3小实例:广告灯牌效果的loading动画

实例:广告灯牌效果的loading动画
技术栈:HTML+CSS
效果:

源码:
【html】



 

    
    
 
    广告灯牌效果的loading动画
    

 

    

拼命加载中...

【css】

*{
    /* 初始化 */
    margin: 0;
    padding: 0;
    /* box-sizing: border-box; */
}
body{
    /* 100%窗口高度 */
    min-height: 100vh;
    /* 弹性布局 水平+垂直居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    /* 自定义属性,可通过var函数对其调用 */
    --c:gold;
}
.loader{
    /* 弹性布局 垂直排列 居中 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* 执行动画:动画名 时长 线性 无限次播放 */
    animation: changeColor 5s linear infinite;
}
.dot-box{
    display: flex;
}
.dot-box .dot{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    /* 通过var函数调用自定义属性--c,设置颜色 */
    background-color: var(--c);
    /* 阴影(发光效果) */
    box-shadow: 0 0 10px var(--c),
    0 0 20px var(--c),
    0 0 40px var(--c),
    0 0 60px var(--c),
    0 0 80px var(--c),
    0 0 100px var(--c);
    margin: 20px 10px;
    /* 默认缩放为0.1倍 */
    transform: scale(0.1);
    /* 执行动画 */
    animation: dotAnimate 2s linear infinite;
    /* 设置每一个点的动画延迟时间 */
    animation-delay: calc(0.1s * var(--i));
}
.loader p{
    color: var(--c);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 5px;
}
.dot-box:nth-child(3) .dot{
    /* 设置下面一排圆点的动画延迟时间 */
    animation-delay: calc(-0.1s * var(--i));
}
 
/* 定义动画 */
/* 圆点的动画 */
@keyframes dotAnimate {
    0%{
        /* 设置缩放 */
        transform: scale(0.1);
    }
    10%{
        transform: scale(1);
    }
    50%,100%{
        transform: scale(0.1);
    }
}
/* 颜色改变动画 */
@keyframes changeColor {
    0%{
        /* 颜色滤镜 */
        filter: hue-rotate(0deg);
    }
    100%{
        filter: hue-rotate(360deg);
    }
}

你可能感兴趣的:(HTML5+CSS3小实例:广告灯牌效果的loading动画)