侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

基于CSS3实现的几个小loading效果

前端  /  管理员 发布于 7年前   188

CSS3实现的几个小loading效果

昨晚上闲的没事突然想做几个小loading效果,下面是昨晚上做的几个小案例,分享给大家

    1.水波loading:这个loading是我觉得非常简单,但是看上去的效果却非常不错的一个小loading

 

     这个是效果图片

    下面我直接把代码放上来,大家需要的可以直接拉走

               核心思想:(旋转,以及overflow:hidden属性),可以把代码中的overflow属性注释掉,保准你看一眼明白了,看不明白回来找我,我对你负责

<!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>Document</title>    <style>        * {margin: 0;padding: 0        }        body {background-color: black        }        .box {margin: 200px auto;height: 50px;width: 50px;border-radius: 10px;background-color: rgb(0, 174, 255);position: relative;overflow: hidden;border: 1px solid rgb(0, 174, 255);border-top: none;        }        .a {width: 200px;height: 200px;           background: black;position: absolute;left: -80px;top: -180px;border-radius: 80px;animation: xuanzhuan 5s linear infinite;z-index: 2        }        @keyframes xuanzhuan{0%{transform: rotate(0deg)}100%{transform: rotate(360deg)}        }    </style></head><body>    <div class="box">        <div class="a"></div>        <div class="b"></div>    </div></body></html> 

  2.普通的圆形loading    这个也很简单  没啥好说的,直接上代码了

<!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>Document</title>    <style>    *{margin: 0;padding: 0}    li{list-style: none}    body,html{        background-color: black;    }    ul{        height: 40px;        width: 200px;        margin: 50px auto;    }    ul>li{        float: left;        height: 20px;        width: 20px;        border-radius: 50%;        background: white;        margin-left: 10px;        animation: move 2s infinite alternate;        transform: scale(0.5)    }    ul>li:nth-of-type(2){        animation-delay: 0.5s;    }    ul>li:nth-of-type(3){        animation-delay:1s;    }    @keyframes move{        0%{transform: scale(0.5);opacity: 0.5}        100%{transform: scale(1);opacity: 1;}    }    </style></head><body>    <ul>        <li></li>        <li></li>        <li></li>    </ul></body></html>

  3.圆形转圈loading

  思想(把小圆用定位排成圆形,再给每个上添加动画,用delay控制延迟事件即可)

<!DOCTYPE html><html>    <head>        <meta charset="utf-8" />        <title></title>    </head>    <style>        *{margin: 0;padding: 0;        }        .d1{width: 50px;height: 50px;position: absolute;margin: 100px;        }        .d1 p{width: 14px;height: 14px;border-radius: 50%;background: red;position: absolute;animation: dong 1.5s linear infinite;        }        .d1 p:nth-child(1){top: 0;left: 0;        }        .d1 p:nth-child(2){top: 0;right: 0;        }        .d1 p:nth-child(3){right: 0;bottom: 0;        }        .d1 p:nth-child(4){bottom: 0;left: 0;        }        .d1:nth-of-type(2){transform: rotate(45deg);        }        @keyframes dong{0%{    transform: scale(0);}50%{    transform: scale(1);}100%{    transform: scale(0);}        }        .d1:nth-of-type(1) p:nth-of-type(1){/*负值:动画直接开始,但跳过前...秒动画*/animation-delay: -0.1s;        }        .d1:nth-of-type(2) p:nth-of-type(1){animation-delay: -0.3s;        }        .d1:nth-of-type(1) p:nth-of-type(2){animation-delay: -0.5s;        }        .d1:nth-of-type(2) p:nth-of-type(2){animation-delay: -0.7s;        }        .d1:nth-of-type(1) p:nth-of-type(3){animation-delay: -0.9s;        }        .d1:nth-of-type(2) p:nth-of-type(3){animation-delay: -1.1s;        }        .d1:nth-of-type(1) p:nth-of-type(4){animation-delay: -1.3s;        }        .d1:nth-of-type(2) p:nth-of-type(4){animation-delay: -1.5s;        }    </style>    <body>        <div class="d1"><p></p><p></p><p></p><p></p>        </div>        <div class="d1"><p></p><p></p><p></p><p></p>        </div>    </body></html>

    4.交叉效果

    这个稍微复杂一点,其实只要捋明白思路,也挺简单的(PS:大家可以把动画挨个取消试试,你就会发现好像并不是很难)

<!doctype html><html lang="zh-cn"><head>    <meta charset="UTF-8">    <meta name="renderer" content="webkit"></head><body>    <style>        body {background-color: #F5F5F5;padding: 100px 120px;        }        .box {margin-left: 500px;display: block;width: 64px;height: 64px;transform-origin: 16px 16px;/* 旋转 */animation: xuanzhuan 5s infinite;        }        /* 平移 */        .ping {animation: pingyi 2.5s infinite;position: absolute;        }       .hang {width: 64px;height: 24px;position: absolute;        }        .hang:nth-child(0) {transform: rotate(0deg);        }        .hang:nth-child(1) {transform: rotate(90deg);        }        .hang:nth-child(2) {transform: rotate(180deg);        }        .hang:nth-child(3) {transform: rotate(270deg);        }        /* 第一个小珠子 */       .ping:nth-child(1) {width: 8px;height: 8px;top: 50%;left: 50%;margin-top: -4px;margin-left: -4px;border-radius: 4px;animation-delay: -0.3s;        }        /* 第二个小珠子 */        .ping:nth-child(2) {width: 16px;height: 16px;top: 50%;left: 50%;margin-top: -8px;margin-left: -8px;border-radius: 8px;-webkit-animation-delay: -0.6s;animation-delay: -0.6s;        }         /* 第三个小珠子 */.ping:nth-child(3) {width: 24px;height: 24px;top: 50%;left: 50%;margin-top: -12px;margin-left: -12px;border-radius: 12px;animation-delay: -0.9s;        }        .blue {background-color: #1f4e5a;        }        .red {background-color: #ff5955;        }        .yellow {background-color: #ffb265;        }        .green {background-color: #00a691;        }        @keyframes xuanzhuan {0% { transform: rotate(0deg);}100% { transform: rotate(360deg);}     }        @keyframes pingyi {0% {transform: translateX(0);} 25% { transform: translateX(-64px); }75% { transform: translateX(32px);} 100% {transform: translateX(0);}        }    </style>        <div class="box"><div class="hang">    <div class="ping blue"></div>    <div class="ping blue"></div>    <div class="ping blue"></div></div><div class="hang">    <div class="ping yellow"></div>    <div class="ping yellow"></div>    <div class="ping yellow"></div></div><div class="hang">    <div class="ping red"></div>    <div class="ping red"></div>    <div class="ping red"></div></div><div class="hang">    <div class="ping green"></div>    <div class="ping green"></div>    <div class="ping green"></div></div>        </div></body></html>

   5.圆形正方形切换小loading

  这个是真的简单!!!!!

<!doctype html><html lang="zh-cn"><head><meta charset="UTF-8"><meta name="renderer" content="webkit"><link rel="shortcut icon" type="images/x-icon" href="/template/images/ufw.ico"><title>loading-04</title></head><body><style>    body{         padding: 80px 100px;    }    .csshub-loading-icon{        padding:10px;        width:10px;        height:10px;        border-top:20px solid #ED5548;         border-right:20px solid #599CD3;        border-bottom: 20px solid #5CBD5E;        border-left:20px solid #FDD901;        background:transparent;        animation: csshub-rotate-right-round 1.2s ease-in-out infinite  alternate ;    }    @keyframes csshub-rotate-right-round        {        0% { transform: rotate(0deg);}        50% {transform: rotate(180deg); }        100% {transform: rotate(360deg);border-radius:50%;}    }</style>    <div class="csshub-loading-icon"></div></body></html>

我没做兼容,要是再某些浏览器不能运行,加一下浏览器前缀就好啦!
 

以上所述是小编给大家介绍的CSS3实现的几个小loading效果 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!


  • 上一条:
    使用css3制作齿轮loading动画效果
    下一条:
    css不常见属性之pointer-events的使用方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 使用 Alpine.js 排序插件对元素进行排序(0个评论)
    • 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
    • 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
    • 使用mock-server实现模拟接口对接流程步骤(0个评论)
    • vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客