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 object-fit属性
Jul 27 HTML / CSS
详解CSS3 弹性布局快速入门
Jun 06 HTML / CSS
CSS3 选择器 属性选择器介绍
Jan 21 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 HTML / CSS
使用css3制作登录表单的步骤
Apr 07 HTML / CSS
基于CSS3实现的黑色个性导航菜单效果
Sep 14 HTML / CSS
html5中如何将图片的绝对路径转换成文件对象
Jan 11 HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
Jan 03 HTML / CSS
html通过canvas转成base64的方法
Jul 18 HTML / CSS
HTML5和以前HTML4的区别整理
Oct 20 HTML / CSS
canvas如何绘制钟表的方法
Dec 13 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
Jun 17 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
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
Move.js入门
2017/02/08 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
Python机器学习之决策树算法实例详解
2017/12/06 Python
使用Python设计一个代码统计工具
2018/04/04 Python
python内置数据类型之列表操作
2018/11/12 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
正隆泰信息技术有限公司上机题
2012/06/14 面试题
三好学生自我鉴定
2013/12/17 职场文书
活动总结格式范文
2014/04/26 职场文书
见习报告的格式
2014/11/04 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
红色电影观后感
2015/06/18 职场文书
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA