Is there any way to add line spinner (from spin.js - https://spin.js.org) using plain css animation without using javascript (example: https://www.w3schools.com/howto/howto_css_loader.asp)?
Asked
Active
Viewed 953 times
0
-
why you need the spin.js if you have the code on the w3school link ? – oma Apr 12 '18 at 10:33
-
I wanted different type of spinner. – developer Apr 12 '18 at 10:44
1 Answers
1
Yes, you can, thanks for this article: click to see
For simpliest understanding, here is code snippet:
/**
* (C)Leanest CSS spinner ever
*/
@keyframes spin {
to { transform: rotate(1turn); }
}
.progress {
position: relative;
display: inline-block;
width: 5em;
height: 5em;
margin: 0 .5em;
font-size: 12px;
text-indent: 999em;
overflow: hidden;
animation: spin 1s infinite steps(8);
}
.small.progress {
font-size: 6px;
}
.large.progress {
font-size: 24px;
}
.progress:before,
.progress:after,
.progress > div:before,
.progress > div:after {
content: '';
position: absolute;
top: 0;
left: 2.25em; /* (container width - part width)/2 */
width: .5em;
height: 1.5em;
border-radius: .2em;
background: #eee;
box-shadow: 0 3.5em #eee; /* container height - part height */
transform-origin: 50% 2.5em; /* container height / 2 */
}
.progress:before {
background: #555;
}
.progress:after {
transform: rotate(-45deg);
background: #777;
}
.progress > div:before {
transform: rotate(-90deg);
background: #999;
}
.progress > div:after {
transform: rotate(-135deg);
background: #bbb;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2>How To Create A Loader</h2>
<div class="progress"><div>Loading…</div></div>
</body>
</html>
And jsFiddle

Scilef
- 90
- 9
-
1That's great, not sure I missed it in my research. Many thanks for your quick reply. – developer Apr 12 '18 at 10:42