DEV Community

loading...
Cover image for Create a loading spinner using pure CSS.

Create a loading spinner using pure CSS.

devggaurav profile image Gaurav ・Updated on ・1 min read

Hello everyone. In this quick tutorial, let's learn how to create a loading spinner using pure CSS in 3 easy steps!

Step 1 - HTML

Create the HTML structure we need (which is just 1 line)

<div class="spinner"></div>
Enter fullscreen mode Exit fullscreen mode

Step 2 - Add basic styles.

.spinner{
        width: 64px;
        height: 64px;
        border: 8px solid;
        border-color: #3d5af1 transparent #3d5af1 transparent;
        border-radius: 50%;
        animation: spin 1.2s linear infinite;
}
Enter fullscreen mode Exit fullscreen mode

Step 3 - Add the spin animation

 @keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
Enter fullscreen mode Exit fullscreen mode

That's it! we have created the loading spinner. Here is the final result.

spinner

Thank uπŸ˜€

Discussion (13)

pic
Editor guide
Collapse
afif profile image
Temani Afif • Edited

You can simplify your keyframes

 @keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
Enter fullscreen mode Exit fullscreen mode
Collapse
devggaurav profile image
Gaurav Author

Hey, thanks. πŸ˜…

Collapse
chakudi profile image
Vaishali JS

I didn't know about this trick.
How does it work? Is it like we can skip original state of the element at 0%?

Collapse
afif profile image
Temani Afif

if 0% or 100% is not defined then the default element style will get used

Collapse
atulcodex profile image
Atul Prajapati

Hey gaurav thanks for sharing bro I have just recently learned CSS animation course from scrimba and I can understand this codes πŸ˜πŸ™

Collapse
devggaurav profile image
Gaurav Author

Thanks buddy! Glad u liked itπŸ˜€

Collapse
atulcodex profile image
Atul Prajapati

✌️

Collapse
aalphaindia profile image
Pawan Pawar

Nice one!!

Collapse
devggaurav profile image
Gaurav Author

ThanksπŸ˜„

Collapse
khunfoshary profile image
Mahmoud Bakheet

It’s simple and nice CSS loading ..! Thanks..

Collapse
devggaurav profile image
Gaurav Author

Thank u πŸ˜„

Collapse
marcknova profile image
Marck

Thanks.

Collapse
israel177 profile image
israel177

Good thanks