CSS心形加载的动画源码的实现


Posted in HTML / CSS onMarch 09, 2021

CSS心形加载的动画源码的实现

<!DOCTYPE html>
<html>
 <head> 
  <meta charset="utf-8" /> 
  <title></title> 
  <style type="text/css">
      .heart-loading {
        margin-top: 120px;
        width: 200px;
        height: 200px;
      }
 
      ul {
        list-style: none;
        display: flex;
        justify-content: space-between;
        width: 150px;
        height: 10px;
        /* 做心形和条形想法是一样的,但是每条高度是不一样的 */
      }
      li {
        --count: 9;
        --rgb: calc(var(--index) / var(--count) * .5turn);
        /* 不能把这个延时设置的太慢.太慢就看不出来是心形了,同时调整延时和动画时长即可 */
        --time: calc((var(--index) - 1) * 150ms);
        border-radius: 5px;
        width: 10px;
        height: 10px;
        background-color: #003BB3;
        /* 利用fiter函数可以让颜色渐变会非常漂亮 */
        filter: hue-rotate(var(--rgb));
        /* 下边这个是动画时长 */
        animation-duration: 2.5s;
        animation-delay: var(--time);
        animation-iteration-count: infinite;
      }
      .line-1,
      .line-9 {
        animation-name: line-move-1;
      }
      .line-2,
      .line-8 {
        animation-name: line-move-2;
      }
      .line-3,
      .line-7 {
        animation-name: line-move-3;
      }
      .line-4,
      .line-6 {
        animation-name: line-move-4;
      }
      .line-5 {
        animation-name: line-move-5;
      }
      /* 对称的动画要相同高度,这样看出心形了 */
      @keyframes line-move-1 {
 
        0%,
        10%,
        90%,
        100% {
          height: 10px;
        }
 
        45%,
        55% {
          height: 30px;
          transform: translate3d(0, -15px, 0);
        }
      }
 
      @keyframes line-move-2 {
 
        0%,
        10%,
        90%,
        100% {
          height: 10px;
        }
 
        45%,
        55% {
          height: 60px;
          transform: translate3d(0, -30px, 0);
        }
      }
 
      @keyframes line-move-3 {
 
        0%,
        10%,
        90%,
        100% {
          height: 10px;
        }
 
        45%,
        55% {
          height: 80px;
          transform: translate3d(0, -40px, 0);
        }
      }
 
      @keyframes line-move-4 {
 
        0%,
        10%,
        90%,
        100% {
          height: 10px;
        }
 
        45%,
        55% {
          height: 90px;
          transform: translate3d(0, -30px, 0);
        }
      }
 
      @keyframes line-move-5 {
 
        0%,
        10%,
        90%,
        100% {
          height: 10px;
        }
 
        45%,
        55% {
          height: 90px;
          transform: translate3d(0, -20px, 0);
        }
      }
    </style> 
 </head> 
 <body> 
  <div class="heart-loading"> 
   <ul> 
    <li class="line-1" style="--index: 1"></li> 
    <li class="line-2" style="--index: 2"></li> 
    <li class="line-3" style="--index: 3"></li> 
    <li class="line-4" style="--index: 4"></li> 
    <li class="line-5" style="--index: 5"></li> 
    <li class="line-6" style="--index: 6"></li> 
    <li class="line-7" style="--index: 7"></li> 
    <li class="line-8" style="--index: 8"></li> 
    <li class="line-9" style="--index: 9"></li> 
   </ul> 
  </div>  
 </body>
</html>

 

HTML / CSS 相关文章推荐
纯CSS3代码实现switch滑动开关按钮效果
Aug 30 HTML / CSS
css3之UI元素状态伪类选择器实例演示
Aug 11 HTML / CSS
CSS伪类与CSS伪元素的区别及由来具体说明
Dec 07 HTML / CSS
CSS3圆角边框和边界图片效果实例
Jul 01 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
移动端适配 使px自动转换rem
Aug 26 HTML / CSS
简单整理HTML5的基本特性和语法
Feb 18 HTML / CSS
详解前端HTML5几种存储方式的总结
Dec 27 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
Apr 09 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
Nov 29 HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
Mar 19 HTML / CSS
amazeui时间组件的实现示例
Aug 18 HTML / CSS
纯CSS3实现质感细腻丝滑按钮
Mar 09 #HTML / CSS
css动画效果之animation的常用样式
Mar 09 #HTML / CSS
使用CSS3实现字体颜色渐变的实现
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
详解CSS样式中的 !important * _ 符号
a标签的css样式四个状态
Mar 09 #HTML / CSS
CSS中一些@规则的用法小结
Mar 09 #HTML / CSS
You might like
mysql建立外键
2006/11/25 PHP
常用PHP封装分页工具类
2017/01/14 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
用jscript实现新建word文档
2007/06/15 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
python回调函数的使用方法
2014/01/23 Python
Python脚本处理空格的方法
2016/08/08 Python
python3安装crypto出错及解决方法
2019/07/30 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
animation和transition的区别
2020/10/12 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
安全施工责任书
2014/08/25 职场文书
环保项目建议书
2014/08/26 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
深入理解python协程
2021/06/15 Python
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
SQL Server中锁的用法
2022/05/20 SQL Server
Nginx报404错误的详细解决方法
2022/07/23 Servers