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 :nth-child()伪类选择器实现奇偶行显示不同样式
Nov 05 HTML / CSS
纯CSS3实现8组超炫酷鼠标滑过图片动画
Mar 16 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
Oct 16 HTML / CSS
CSS3 实现倒计时效果
Nov 25 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
Jan 05 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
Mar 01 HTML / CSS
HTML5和以前HTML4的区别整理
Oct 20 HTML / CSS
HTML5 Canvas 旋转风车绘制
Aug 18 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
Mar 21 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
Aug 27 HTML / CSS
CSS3通过var()和calc()函数实现动画特效
Mar 30 HTML / CSS
CSS 实现磨砂玻璃(毛玻璃)效果样式
May 21 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
如何去掉文章里的 html 语法
2006/10/09 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
js select常用操作控制代码
2010/03/16 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
python使用socket连接远程服务器的方法
2015/04/29 Python
python学习入门细节知识点
2018/03/29 Python
Anaconda入门使用总结
2018/04/05 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
python梯度下降法的简单示例
2018/08/31 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python常见的pandas用法demo示例
2019/03/16 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
商场端午节活动方案
2014/01/29 职场文书
高中军训感言1000字
2014/03/01 职场文书
公司转让协议书
2016/03/19 职场文书