网页制作 
首页 > 网页制作 > 浏览文章

CSS心形加载的动画源码的实现

(编辑:jimmy 日期: 2024/11/28 浏览:3 次 )

废话不多说上代码,代码很简答,研究一下就明白了,有不明白的可以问我。

<!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>

CSS心形加载的动画源码的实现

上一篇:使用CSS3实现字体颜色渐变的实现
下一篇:CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap