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盒子模型详解
Apr 24 HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
CSS3中Transition动画属性用法详解
Jul 04 HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
Jun 17 HTML / CSS
详解HTML5表单新增属性
Dec 21 HTML / CSS
基于HTML5的WebSocket的实例代码
Aug 15 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
Jun 08 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
Dec 04 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
Nov 19 HTML / CSS
CSS3 制作的图片滚动效果
Apr 14 HTML / CSS
浅谈CSS不规则边框的生成方案
May 25 HTML / CSS
css让页脚保持在底部位置的四种方案
Jul 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
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
收音机的保养
2021/03/01 无线电
说明的比较细的php 正则学习实例
2008/07/30 PHP
PHP 文件上传功能实现代码
2009/06/24 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
top.location.href 没有权限 解决方法
2008/08/05 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
小程序实现多列选择器
2019/02/15 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
Python内置函数dir详解
2015/04/14 Python
深入理解Python中装饰器的用法
2016/06/28 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
行政副总岗位职责
2014/02/23 职场文书
干部选拔任用方案
2014/05/26 职场文书
毕业生面试求职信
2014/06/23 职场文书
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
vue实现滑动解锁功能
2022/03/03 Vue.js
Python开发五子棋小游戏
2022/05/02 Python