网站css充电特效动画

admin   2024-09-29   网站源码    126

CSS实现的酷炫充电动画特效,能够直观地展示数据的增长或能量的累积,为用户提供一种新颖的视觉体验。本文将详细介绍如何使用CSS来创造一个充满动感的充电动画效果,无论是用于电池电量指示、数据加载进度,还是仅仅作为网页装饰,都能吸引用户的注意力,增加页面的吸引力。

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <title>网站css充电特效动画 - 小黑鸟资源网–资源技术免费分享平台</title>
    <style>  
        .phoneBox{
    margin: 20px auto;
    width: 375px;
    height: 765px ;
    background-size: cover;
    box-sizing: border-box;
    padding-top: 16px;
}
.screenPhone{
    width: 330px;
    height: 657px;
    margin: 0 auto;
    background: #000;
    border-radius: 45px 45px 0 0;
    position: relative;
}
.screenPhone .number{
    width: 200px;
    height: 200px;
    position: absolute;
    left: 50%;
    top: 15%;
    transform: translateX(-50%);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.5em;
    color: #fff;
}
/* 电量充电动画的大盒子 */
.screenPhone .ascending{
    width: 100%;
    height: 100%;
    background: #050807;
    border-radius: 45px 45px 0 0;
    position: relative;
}
/* 框选电脑显示区域 */
.screenPhone .circle{
    width: 300px;
    height: 300px;
    position: absolute;
    top: 7%;
    left: 50%;
    margin-left: -150px;
}
/* 伪元素设置电量周围颜色 */
.circle::before{
    content: "";
    width: 200px;
    height: 200px;
    background-color: #4dff03;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 42% 38% 63% 49%/45%;
}
/* 伪元素设置电量周围圆 */
.circle::after{
    content: "";
    width: 178px;
    height: 178px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
}
/* 设置向上泡泡的基本样式 */
.screen .water{
    width: 20px;
    height: 20px;
    background-color: #4dff03;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 2;
}
/* 设置冒泡底座的基本样式 */
.water-home{
    width: 100px;
    height: 40px;
    background-color: #4dff03;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -50px;
    border-radius: 100px 100px 0 0;
}
/* 调试滤镜 */
.screenPhone .ascending{
    /* 设置动画容器的对比度 */
    filter: contrast(15);
}
.screenPhone .circle{
    /* 设置电量周围颜色的模糊度 */
    filter: blur(8px);
}
.screenPhone .water{
    filter: blur(5px);
}
/* 设置旗袍底座的模糊度 */
.screenPhone .water-home{
    filter: blur(8px);
}
/* 添加动画 */
.screenPhone .ascending{
    animation: animation1 5s linear infinite;
}
/* 动画整体设置色相差 */
@keyframes animation1{
    0%{
        filter: contrast(15) hue-rotate(0);
    }
    100%{
        filter: contrast(15) hue-rotate(360deg);
    }
}

.screenPhone .circle{
    animation: animation2 5s linear infinite;
}
/* 设置电量周围的旋转 */
@keyframes animation2{
    0%{
        transform: rotate(0);
    }
    100%{
        transform: rotate(360deg);
    }
}

.screenPhone .water{
    animation: animation3 5s ease-in-out infinite;
}
/* 设置小气泡上升的动画 */
@keyframes animation3{
    0%{
        bottom: 0;
    }
    100%{
        bottom: calc(80% - 170px);
    }
}
/* 设置小气泡(位置 大小 动画时长 动画延迟) */
.water:nth-child(1){
    width: 20px;
    height: 20px;
    left: 50%;
    animation-duration: 5s;
    animation-delay: 1s;
}
.water:nth-child(2){
    width: 20px;
    height: 20px;
    left: 49%;
    animation-duration: 4s;
    animation-delay: 2s;
}.water:nth-child(3){
    width: 20px;
    height: 20px;
    left: 48%;
    animation-duration: 3s;
    animation-delay: 2s;
}.water:nth-child(4){
    width: 20px;
    height: 20px;
    left: 52%;
    animation-duration: 2s;
    animation-delay: 3s;
}.water:nth-child(5){
    width: 20px;
    height: 20px;
    left: 51%;
    animation-duration: 1s;
    animation-delay: 5s;
}.water:nth-child(6){
    width: 20px;
    height: 20px;
    left: 53%;
    animation-duration: 3s;
    animation-delay: 3s;
}
    </style>  
</head>  
<body>  
    <div class="phoneBox">
        <div class="screenPhone">
            <div class="number">78.6%</div>
            <div class="ascending">
                <div class="water"></div>
                <div class="water"></div>
                <div class="water"></div>
                <div class="water"></div>
                <div class="water"></div>
                <div class="water-home"></div>
                <div class="circle"></div>
            </div>
        </div>
    </div>
</body>  
</html>

0
验证码

评论

    没有评论