css3 中实现炫酷的loading效果


Posted in HTML / CSS onApril 26, 2019

•今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用

•js需要引入jquery 只用到了一点点js

•先看效果图

css3 中实现炫酷的loading效果

html:

<div class="box">
        <div class="master">
            <div class="eyes">
                <div class="eyes-ball"></div>
            </div>
            <div class="mouth"></div>
        </div>
        <div class="master blue">
            <div class="eyes">
                <div class="eyes-ball"></div>
            </div>
            <div class="mouth"></div>
        </div>
    </div>
    <div class="model">
        <div class="master">
            <div class="eyes">
                <div class="eyes-ball"></div>
            </div>
            <div class="mouth"></div>
        </div>
        <div class="loading">
            <div class="loading-bar"></div>
        </div>
        <div class="jz-loading">加载中 . . .</div>
    </div>

css:

 

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background-color: hsla(0, 100%, 80%, 0.5);
    display: flex;
    justify-content: center;
    align-items:center;
}
.box{
    display: flex;
}
.master{
    width:110px;
    height:100px;
    border-radius: 20px;
    background: red;
    margin:10px;
    display: flex;
    justify-content: center;
    align-items:center;
    flex-direction: column;
    box-shadow: 0 10px 20px rgba(0,0,0,.5);
    position: relative;
    animation: jumping 0.8s infinite;
    transition: all 0.5s;
}
.master .eyes{
    width:35%;
    height:35%;
    border-radius:50%;
    background-color:#fff;
    display: flex;
    justify-content: center;
    align-items:center;
}
.eyes-ball{
    width:30%;
    height:30%;
    border-radius: 50%;
    background-color: #000;
    animation: eyesmove 1.6s linear infinite alternate;
}
.master .mouth{
    width:40%;
    height:10px;
    border-radius:12px;
    background-color:blue;
    margin-top: 20px;
}
.master.blue{
    background-color: blue;
    animation-delay: 0.4s;
}
.master.blue .mouth{
    background: red;
}
.master::before,
.master::after{
    content:'';
    display: block;
    width: 12px;
    height: 20px;
    border-radius: 12px 12px 0 0;
    background: #fff;
    position: absolute;
    top: -15px;
    transform: translateX(-6px) rotate(45deg);
    transform-origin: 100% 100%;
}
.master::after{
    transform:translateX(6px) rotate(-45deg);
    transform-origin: 0 100%;
}

/*****遮罩层*****/
.model{
    position: fixed;
    width: 100%;
    height: 100%;
    background: palevioletred;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.loading{
    width: 200px;
    height: 10px;
    border-radius:12px;
    background-color: #fff;
    margin-top: 50px;
    overflow: hidden;
}
.loading .loading-bar{
    width: 0%;
    height: 10px;
    background: red;
}
.jz-loading{
    color: blue;
    font-weight: bold;
    position: absolute;
    top: 50%;
    transform: translateY(100px);
}
.move{
    transform: scale(0.1) rotate(360deg);
}
/*****动画*****/
@keyframes jumping{
    0%{
        top:0;
        box-shadow: 0 10px 20px rgba(0, 0, 0, .5);
    }
    50%{
        top:-50px;
        box-shadow: 0 100px 20px rgba(0, 0, 0, .3);
    }
    100%{
        top:0;
        box-shadow: 0 10px 20px rgba(0, 0, 0, .5);
    }
}
@keyframes eyesmove{
    0%{
        transform: translateX(-100%);
    }
    10%{
        transform: translateX(-100%);
    }
    90%{
        transform: translateX(100%);
    }
    100%{
        transform: translateX(100%);
    }
}

js:

var timer =null;
var add =0;
timer=setInterval(()=>{
    add++;
    $('.loading-bar').css('width',`${add}%`);
    if(add>=100){
        $('.model .master').addClass('move');
        $('.model').fadeOut();
        clearInterval(timer);
        timer =null;
    }
},30)

总结

以上所述是小编给大家介绍的css3 中实现炫酷的loading效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

HTML / CSS 相关文章推荐
CSS3教程(2):网页边框半径和网页圆角
Apr 02 HTML / CSS
CSS3 中的@keyframes介绍
Sep 02 HTML / CSS
CSS3中Transition动画属性用法详解
Jul 04 HTML / CSS
浅谈CSS3动画的回调处理
Jul 21 HTML / CSS
详解css position 5种不同的值的用法
Jul 30 HTML / CSS
canvas实现圆绘制的示例代码
Sep 11 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
Jul 11 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
Aug 07 HTML / CSS
html5实现完美兼容各大浏览器的播放器
Dec 26 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 HTML / CSS
CSS3实现360度循环旋转功能
Feb 12 HTML / CSS
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
May 07 HTML / CSS
使用 css3 transform 属性来变换背景图的方法
May 07 #HTML / CSS
详解CSS3 弹性布局快速入门
Jun 06 #HTML / CSS
通过css3动画和opacity透明度实现呼吸灯效果
Aug 09 #HTML / CSS
CSS3 translate导致字体模糊的实例代码
Aug 30 #HTML / CSS
CSS3实现类似翻书效果的过渡动画的示例代码
Sep 06 #HTML / CSS
CSS3动画之利用requestAnimationFrame触发重新播放功能
Sep 11 #HTML / CSS
css3 响应式媒体查询的示例代码
Sep 25 #HTML / CSS
You might like
用php将任何格式视频转为flv的代码
2009/09/03 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
Bootstrap响应式表格详解
2017/05/23 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python实现维吉尼亚加密法
2019/03/20 Python
python 有效的括号的实现代码示例
2019/11/11 Python
浅析Python3 pip换源问题
2020/01/06 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
银行自荐信范文
2013/10/07 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
文明市民先进事迹
2014/05/15 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
迎国庆横幅标语
2014/10/08 职场文书
大学生实训报告总结
2014/11/05 职场文书
商业门面租房协议书
2014/11/25 职场文书
建国大业观后感
2015/06/01 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技
nginx配置限速限流基于内置模块
2022/05/02 Servers