JSFiddle - React, Tailwind, and code Playground
by secretgspot
HTML
<div class="ui-loader-pulse"><span></span></div>
CSS
/**
* CSS pulse loader
*
* @author Maxime Thirouin [email protected]
*/
.ui-loader-pulse {
position: relative;
width: 40px;
height: 40px;
line-height: 40px;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
-o-border-radius: 50%;
-ms-border-radius: 50%;
-khtml-border-radius: 50%;
border-radius: 50%;
background: black;
background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(40%, #000000), color-stop(100%, #999999));
background: -webkit-radial-gradient(#000000 40%, #999999);
background: -moz-radial-gradient(#000000 40%, #999999);
background: -o-radial-gradient(#000000 40%, #999999);
background: -ms-radial-gradient(#000000 40%, #999999);
background: radial-gradient(#000000 40%, #999999);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 6px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 6px rgba(0, 0, 0, 0.3);
-o-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 6px rgba(0, 0, 0, 0.3);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 6px rgba(0, 0, 0, 0.3);
border: 1px solid black;
color: white;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0);
text-align: center;
font-size: 1em;
position: absolute;
top: 50%;
left: 50%;
}
.ui-loader-pulse span {
background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.3))) 50% 50%;
background: -webkit-radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3)) 50% 50%;
background: -moz-radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3)) 50% 50%;
background: -o-radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3)) 50% 50%;
background: -ms-radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3)) 50% 50%;
background: radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3)) 50% 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
-o-border-radius: 50%;
-ms-border-radius: 50%;
-khtml-border-radius: 50%;
...