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 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
Oct 10 HTML / CSS
css3 矩阵的使用详解
Mar 20 HTML / CSS
CSS3 animation ? steps 函数详解
Aug 30 HTML / CSS
CSS3实现网站商品展示效果图
Jan 18 HTML / CSS
html5嵌入内容_动力节点Java学院整理
Jul 07 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
Feb 01 HTML / CSS
Bootstrap 学习分享
Nov 12 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
Apr 24 HTML / CSS
详解HTML5中ol标签的用法
Sep 08 HTML / CSS
canvas 绘图时位置偏离的问题解决
Sep 16 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
Dec 02 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
php smarty模版引擎中的缓存应用
2009/12/02 PHP
PHP print类函数使用总结
2010/06/25 PHP
paypal即时到账php实现代码
2010/11/28 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
javascript判断office版本示例
2014/04/11 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
使用Python写CUDA程序的方法
2017/03/27 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
教师应聘个人求职信
2013/12/10 职场文书
会计的岗位职责
2014/03/15 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
python的变量和简单数字类型详解
2021/09/15 Python