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的颜色渐变效果的示例代码
Sep 29 HTML / CSS
前端面试必备之html5的新特性
Sep 05 HTML / CSS
Canvas 文本转粒子效果的实现代码
Feb 14 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
May 12 HTML / CSS
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
Jan 09 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
Jan 21 HTML / CSS
HTML5实现简单图片上传所遇到的问题及解决办法
Jan 20 HTML / CSS
HTML5之tabindex属性全面解析
Jul 07 HTML / CSS
LocalStorage记住用户和密码功能
Jul 24 HTML / CSS
详解HTML5 data-* 自定义属性
Jan 24 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
Mar 04 HTML / CSS
纯CSS实现hover图片pop-out弹出效果的实例代码
Apr 16 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
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
php中的三元运算符使用说明
2011/07/03 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php生出随机字符串
2017/07/06 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
Numpy的简单用法小结
2019/08/28 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
详解Scrapy Redis入门实战
2020/11/18 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
暑假学习心得体会
2014/09/02 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
JavaScript实现简单的音乐播放器
2022/08/14 Javascript