CSS3Loading动画

简介: 前端进阶 css3 小练习 loadding动画实践

病毒肆虐,只能宅在家中,手机越刷越恐慌,不如写点代码吧,在春天来临之前,让我们一边守望,也一边前行。
动画效果如图1:
image

图2
image

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>loading动画</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        html,
        body {
            width: 100%;
            height: 100%;
            background-color: #db4d6d;
            display: flex;
            /*水平居中*/
            justify-content: center;
            /*垂直居中*/
            align-items: center;
        }

        .monster {
            width: 110px;
            height: 110px;
            border-radius: 20px;
            /* 圆角 */
            background-color: #e55a54;
            margin: 10px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            /* 嘴巴和眼睛垂直排列 */

            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            /* 阴影 */
            position: relative;
            /* 定位怪兽角 */
            animation: jumping 0.8s infinite alternate;
        }

        .monster .eye {
            width: 40%;
            height: 40%;
            border-radius: 50%;
            background-color: #fff;
            margin: 10px;
            display: flex;
            justify-content: center;
            align-items: center;

        }

        .monster .eye .eyeBall {
            width: 50%;
            height: 50%;
            border-radius: 50%;
            background-color: #0c4475;
            animation: eyemove 1.6s infinite alternate;
        }

        .monster .mouth {
            width: 32%;
            height: 12px;
            border-radius: 12px;
            background-color: #fff;
        }

        .monster::before,
        .monster::after {
            position: absolute;
            content: '';
            display: block;
            width: 20%;
            height: 10px;
            border-radius: 10px;
            background-color: #fff;
            top: -10px;
            left: 50%;
        }

        .monster::before {
            transform: translateX(-70%) rotate(45deg);
        }

        .monster::after {
            transform: translateX(-30%) rotate(-45deg);
        }

        .monster.blue {
            background-color: #0c4475;
            animation-delay: 0.5s;
        }

        /* 蓝色小怪兽眼睛粉色 */
        .monster.blue .eye .eyeBall,
        .monster.blue .mouth {
            background-color: #db4d6d;
        }

        /* 动画桢 */
        @keyframes jumping {
            50% {
                top: 0;
                box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);

            }

            100% {
                top: -50px;
                box-shadow: 0 120px 20px rgba(0, 0, 0, 0.1);

            }

        }

        @keyframes eyemove {

            0%,
            10% {
                transform: translate(50%);
            }

            100%,
            90% {
                transform: translate(-50%);
            }

        }

        .pageLoading {
            width: 100%;
            height: 100%;
            background-color: #0c4475;
            position: fixed;
            top: 0;
            left: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            transition:opacity 0.5s;
        }

        .pageLoading .loading {
            width: 200px;
            height: 8px;
            background-color: #fff;
            border-radius: 5px;
            margin-top: 50px;
            overflow: hidden;
        }

        .pageLoading .loading .bar {
            width: 100%;
            height: 100%;
            background-color: #db4d6d;

        }
        .pageLoading.complete
        {
            opacity: 0;
        }
        .pageLoading.complete .monster{
            transition: 0.5s;
            transform:scale(0.1) rotateZ(360deg);
        }
        .monsterText
        {
            color: #fff;
        }
    </style>
</head>

<body>
    <h2 class="monsterText">Hello<br> world
    </h2>
    
    <div class="monster ">
        <div class="eye">
            <div class="eyeBall"></div>
        </div>
        <div class="mouth"></div>
    </div>
    <div class="monster blue">
        <div class="eye">
            <div class="eyeBall"></div>
        </div>
        <div class="mouth"></div>
    </div>
    <div class="pageLoading">
        <div class="monster ">
            <div class="eye">
                <div class="eyeBall"></div>
            </div>
            <div class="mouth"></div>
        </div>
        <div class="loading">
            <div class="bar"></div>
        </div>
    </div>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
     <script>
        var per=0;
        var timer;
        timer=setInterval(function()
        {
            $('.bar').css('width',per+'%');
            per+=1;
            if(per>100)
            {
                $('.pageLoading').addClass("complete");
               setTimeout(() => {
                 $('.monsterText').html('<h2>We are Monster</h2>')  
               }, 3000);
                clearInterval(timer);
            }
        },30)
    </script>
</body>

</html>
目录
相关文章
|
2月前
|
前端开发 内存技术
CSS动画示例(上一篇是CSS过渡…)
CSS动画示例(上一篇是CSS过渡…)
26 1
|
2月前
|
资源调度 前端开发 CDN
纯css动画库animate.css的用法
纯css动画库animate.css的用法
50 0
|
3月前
CSS3滑动轮播动画
CSS3滑动轮播动画
33 8
|
13天前
|
前端开发 UED
【专栏:CSS 进阶篇】CSS3 新特性:过渡、动画与变形
【4月更文挑战第30天】CSS3的过渡、动画和变形三大特性为网页设计注入活力,创造生动丰富的用户体验。过渡提供平滑效果,常用于按钮点击等;动画实现复杂动态效果,适用于滚动字幕等;变形允许元素几何变换,如旋转和缩放。实际应用包括动态导航菜单、图片轮播和加载动画。然而,需注意浏览器兼容性、性能优化和设计平衡。掌握这些特性,将为网页设计带来更多创新可能。
|
14天前
|
XML 前端开发 JavaScript
CSS中动画、过渡、定位、浮动的作用
CSS中动画、过渡、定位、浮动的作用
|
14天前
|
前端开发 UED 开发者
【专栏】探讨了CSS3动画卡顿的原因,包括复杂动画效果、过多元素参与、低效代码结构和硬件资源限制,并提出优化措施
【4月更文挑战第29天】本文探讨了CSS3动画卡顿的原因,包括复杂动画效果、过多元素参与、低效代码结构和硬件资源限制,并提出优化措施:简化动画路径、控制元素数量、优化代码结构、利用硬件加速及性能监测。通过实际案例展示了优化效果,强调了性能优化对提升用户体验的重要性。在开发中,应持续关注并优化动画性能,以适应网页应用的需求。
|
17天前
|
前端开发 JavaScript UED
绚丽多彩的网页世界:深入探讨CSS动画的艺术与技巧
绚丽多彩的网页世界:深入探讨CSS动画的艺术与技巧
21 3
|
21天前
|
前端开发 JavaScript 容器
JavaScript、CSS像素动画特效代码
此示例创建一个带有像素粒子的容器,每隔300毫秒就会动态添加一个新的像素粒子,然后通过CSS的关键帧动画(`@keyframes`)使它们产生上升和逐渐消失的动画效果。你可以根据需要修改像素粒子的颜色、大小、动画效果和创建速度。
14 0
|
24天前
|
前端开发 JavaScript UED
《CSS 简易速速上手小册》第5章:CSS 动画与过渡(2024 最新版)
《CSS 简易速速上手小册》第5章:CSS 动画与过渡(2024 最新版)
29 1
|
28天前
|
编解码 前端开发 iOS开发
前端开发入门笔记(八)CSS3属性详解:动画详解+Flex布局图文详解+Web字体
前端开发入门笔记(八)CSS3属性详解:动画详解+Flex布局图文详解+Web字体
61 1