Pure HTML+CSS to achieve Element loading effect

Pure HTML+CSS to achieve Element loading effect

This is the effect of the Element UI loading component. It looks cool. Let’s implement it!

analyze

The animation consists of two parts:

The blue arc stretches from a point to a circle, and then shrinks from the circle to a point.

The parent node of the circle rotates with the circle

Code
html

<svg viewBox="25 25 50 50" class="box">
    <circle cx="50" cy="50" r="20" fill="none" class="circle"></circle>
</svg>

CSS
Default Style

.box {
    height: 200px;
    width: 200px;
    background: wheat;
}
.box .circle {
    stroke-width: 2;
    stroke: #409eff;
    stroke-linecap: round;
}

Add animation effects

/* Rotation animation */
@keyframes rotate {
    to {
        transform: rotate(1turn)
    }
}
/* Arc animation */
/* 125 is the circumference of the circle */
@keyframes circle {
    0% {
 /* State 1: Point */
        stroke-dasharray: 1 125;
        stroke-dashoffset: 0;
    }
    50% {
 /* State 2: Circle */
        stroke-dasharray: 120, 125;
        stroke-dashoffset: 0;
    }
    to {
 /* State 3: Point (shrinking in the direction of rotation) */
        stroke-dasharray: 120 125;
        stroke-dashoffset: -125px;
    }
}
.box {
  /* ...same as above*/
  animation: rotate 2s linear infinite;
}
.circle {
  /* ...same as above*/
  animation: circle 2s infinite;
}

Finally, remove the background

Online code demo https://jsbin.com/yarufoy/edit?html,css,output

This is the end of this article about how to achieve Element loading effect with pure HTML+CSS. For more relevant content about how to achieve loading with HTML+CSS, please search previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope you will support 123WORDPRESS.COM in the future!

<<:  Sample code for implementing the Olympic rings with pure HTML+CSS

>>:  Detailed explanation of HTML basics (Part 1)

Recommend

Teach you how to build a Hadoop 3.x pseudo cluster on Tencent Cloud

1. Environmental Preparation CentOS Linux release...

How to install mysql via yum on centos7

1. Check whether MySQL is installed yum list inst...

Detailed explanation of how to connect Java to Mysql version 8.0.18

Regarding the connection method between Java and ...

A Brief Analysis of Subqueries and Advanced Applications in MySql Database

Subquery in MySql database: Subquery: nesting ano...

Some problems that may be caused by inconsistent MySQL encoding

Stored procedures and coding In MySQL stored proc...

CSS achieves highly adaptive full screen

When writing my own demo, I want to use display:f...

Automated front-end deployment based on Docker, Nginx and Jenkins

Table of contents Preliminary preparation Deploym...

Vue parent-child component mutual value transfer and call

Table of contents 1. Parent passes value to child...

How to implement the observer pattern in JavaScript

Table of contents Overview Application scenarios ...

Mysql: The user specified as a definer ('xxx@'%') does not exist solution

During the project optimization today, MySQL had ...

Detailed deployment of Alibaba Cloud Server (graphic tutorial)

I have recently learned web development front-end...

Detailed explanation of Vue-Jest automated testing basic configuration

Table of contents Install Configuration Common Mi...

Explanation of the configuration and use of MySQL storage engine InnoDB

MyISAM and InnoDB are the most common storage eng...

Independent implementation of nginx container configuration file

Create a container [root@server1 ~]# docker run -...