JSFiddle - React, Tailwind, and code Playground
by Jatin Patil
HTML
<div class="loading">
<div>
<div class="c1"></div>
<div class="c2"></div>
<div class="c3"></div>
<div class="c4"></div>
</div>
<span>loading</span>
</div>
<!-- CONTENT -->
<div class="content">
<p>Coeperunt primaque natura. Corpora declivia exemit quoque. Undae omnia terrenae recepta. Cognati librata praeter. Tollere cetera litora. Lege omni. Volucres cinxit orbem tempora tanta terrarum erectos inclusum nullo. Undae plagae omni gravitate nullus origine erat:. Peragebant animal sponte temperiemque. Invasit flamina caesa duae nubes piscibus convexi. Manebat stagna. Astra premuntur habentem. Deducite lumina lanient terrae caelumque. Campoque fidem cepit. Nubes ignea pronaque nec mutastis duas obliquis ignotas. Ante spectent orba exemit agitabilis. Perveniunt melior diu fabricator sui. Animus militis stagna triones iapeto ultima exemit cingebant. Lege orbis habitandae egens. Limitibus dissociata mundum his mutastis. Omnia nisi rudis humanas corpora circumfuso.</p>
<p>Coeperunt primaque natura. Corpora declivia exemit quoque. Undae omnia terrenae recepta. Cognati librata praeter. Tollere cetera litora. Lege omni. Volucres cinxit orbem tempora tanta terrarum erectos inclusum nullo. Undae plagae omni gravitate nullus origine erat:. Peragebant animal sponte temperiemque. Invasit flamina caesa duae nubes piscibus convexi. Manebat stagna. Astra premuntur habentem. Deducite lumina lanient terrae caelumque. Campoque fidem cepit. Nubes ignea pronaque nec mutastis duas obliquis ignotas. Ante spectent orba exemit agitabilis. Perveniunt melior diu fabricator sui. Animus militis stagna triones iapeto ultima exemit cingebant. Lege orbis habitandae egens. Limitibus dissociata mundum his mutastis. Omnia nisi rudis humanas corpora circumfuso.</p>
<p>Coeperunt primaque natura. Corpora declivia exemit quoque. Undae omnia terrenae recepta. Cognati librata praeter. Tollere cetera litora. Lege omni. Volucres cinxit orbem tempora tanta terrarum erectos inclusum...
CSS
@import url(http://fonts.googleapis.com/css?family=Roboto);
html , body {
width: 100%;
height: 100%;
background-color: #FFF;
font-family: 'Roboto', sans-serif;
font-size: 100%;
line-height: 1.3em;
margin: 0;
padding: 0;
}
.loading {
width: 100%;
height: 100%;
background: #16171d;
opacity: 0.9;
position: fixed;
}
.loading > div {
width: 60px;
height: 60px;
position: absolute;
left: 50%;
margin-left: -30px;
top: 50%;
margin-top: -30px;
}
.loading > div > div {
content: '';
position: absolute;
width: 16px;
height: 16px;
background: #ff8c00;
top: 10px;
left: 10px;
transform-origin: 20px 20px;
border-radius: 8px;
animation: spin-a 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}
.loading > div > .c2 {
top: 10px;
left: auto;
right: 10px;
transform-origin: -4px 20px;
animation: spin-b 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}
.loading > div > .c3 {
top: auto;
left: auto;
right: 10px;
bottom: 10px;
transform-origin: -4px -4px;
animation: spin-c 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}
.loading > div > .c4 {
top: auto;
bottom: 10px;
transform-origin: 20px -4px;
animation: spin-d 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}
@keyframes spin-a {
0% { transform: rotate(90deg); }
0% { transform: rotate(90deg); }
50% { transform: rotate(180deg); }
75% { transform: rotate(270deg); }
100% { transform: rotate(360deg); }
}
@keyframes spin-b {
0% { transform: rotate(90deg); }
25% { transform: rotate(90deg); }
25% { transform: rotate(180deg); }
75% { transform: rotate(270deg); }
100% { transform: rotate(360deg); }
}
@keyframes spin-c {
0% { transform: rotate(90deg); }
25% { transform: rotate(90deg); }
50% { transform: rotate(180deg); }
50% { transform: rotate(270deg); }
100% { transform: rotate(360deg); }
}
@keyframes spin-d {
0% { transform: rotate(90deg); }
25% { transform: rotate(90deg); }
50% { transform: rotate(180deg); }
75% {...