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 22 HTML / CSS
详解使用CSS3的@media来编写响应式的页面
Nov 01 HTML / CSS
css3中用animation的steps属性制作帧动画
Apr 25 HTML / CSS
浏览器实现移动端高性能css3动画(开启gpu加速)
Dec 23 HTML / CSS
CSS3 清除浮动的方法示例
Jun 01 HTML / CSS
HTML5实现视频直播功能思路详解
Nov 16 HTML / CSS
html5时钟实现代码
Oct 22 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
Jan 09 HTML / CSS
用HTML5制作一个简单的弹力球游戏
May 12 HTML / CSS
微信html5页面调用第三方位置导航的示例
Mar 14 HTML / CSS
使用CSS3实现按钮悬停闪烁动态特效代码
Aug 30 HTML / CSS
Li list-style-image 图片垂直居中实现方法
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
实现“上一页”和“下一页按钮
2006/10/09 PHP
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
php广告加载类用法实例
2014/09/23 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
使用js Math.random()函数生成n到m间的随机数字
2014/10/09 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
Javascript的this用法
2017/01/16 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
python 实现倒排索引的方法
2018/12/25 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Python绘制股票移动均线的实例
2019/08/24 Python
python tornado修改log输出方式
2019/11/18 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
初中学生期末评语
2014/04/24 职场文书
大学生活动总结模板
2014/07/02 职场文书
土建技术员岗位职责
2015/04/11 职场文书
二审答辩状范文
2015/05/22 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
Python pandas求方差和标准差的方法实例
2021/08/04 Python