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截图_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5 CSS3给网站设计带来出色效果
Jul 16 HTML / CSS
纯CSS3实现绘制各种图形实现代码详细整理
Dec 26 HTML / CSS
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
May 07 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
May 23 HTML / CSS
CSS3实现文本垂直排列的方法
Jul 10 HTML / CSS
html5声频audio和视频video等新特性详细说明
Dec 26 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
Jul 02 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
Jan 22 HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
Aug 21 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
Oct 23 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
php PDO中文乱码解决办法
2009/07/20 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
django 修改server端口号的方法
2018/05/14 Python
Django的性能优化实现解析
2019/07/30 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
几个Shell Script面试题
2012/08/31 面试题
社区网格化管理实施方案
2014/03/21 职场文书
师德师风的心得体会
2014/09/02 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
辞职信格式范文
2015/05/13 职场文书
三国演义读书笔记
2015/06/25 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS