Implementation of CSS heart-shaped loading animation source code

Implementation of CSS heart-shaped loading animation source code

Without further ado, let me show you the code. The code is very simple and you will understand it after studying it. If you have any questions, you can ask me.

<!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;
        /* The idea of ​​making heart shape and strip shape is the same, but the height of each strip is different*/
      }
      li {
        --count: 9;
        --rgb: calc(var(--index) / var(--count) * .5turn);
        /* Do not set the delay too slow. If it is too slow, the heart shape will not be visible. Adjust the delay and animation duration at the same time*/
        --time: calc((var(--index) - 1) * 150ms);
        border-radius: 5px;
        width: 10px;
        height: 10px;
        background-color: #003BB3;
        /* Using the fiter function can make the color gradient very beautiful*/
        filter: hue-rotate(var(--rgb));
        /* The following is the animation duration*/
        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;
      }
      /* Symmetrical animations should be at the same height so that the heart shape can be seen*/
      @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> 

This is the end of this article about the implementation of the CSS heart-shaped loading animation source code. For more related CSS heart-shaped loading animation content, please search 123WORDPRESS.COM’s previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

<<:  A simple way to call desktop exe programs on a web page

>>:  An analysis of div+float, a very important concept in website design

Recommend

How to inherit CSS line-height

How is Line-height inherited?Write a specific val...

Using JS to implement a rotating Christmas tree in HTML

<!DOCTYPE HEML PUBLIC> <html> <hea...

jQuery+swiper component realizes the timeline sliding year tab switching effect

Result: Implementation code: Need to be used with...

How to implement vertical text alignment with CSS (Summary)

The default arrangement of text in HTML is horizo...

Javascript to achieve the drag effect of the login box

This article shares the specific code of Javascri...

Detailed installation process of mysql5.7.21 under win10

This article shares the installation of MySQL 5.7...

How to import txt into mysql in Linux

Preface When I was writing a small project yester...

HTML+CSS to achieve responsive card hover effect

Table of contents accomplish: Summarize: Not much...

Using shadowsocks to build a LAN transparent gateway

Table of contents Install and configure dnsmasq I...

Seven solutions for classic distributed transactions between MySQL and Golan

Table of contents 1. Basic theory 1.1 Transaction...

Linux centOS installation JDK and Tomcat tutorial

First download JDK. Here we use jdk-8u181-linux-x...

HTML table tag tutorial (17): table title vertical alignment attribute VALIGN

The table caption can be placed above or below th...

How to create a view on multiple tables in MySQL

In MySQL, create a view on two or more base table...