Retro atom
by Chris Buttery
HTML
<div class="atom">
<div>
<span></span>
</div>
</div>
CSS
body {
background: #5b92e5;
padding: 20px;
}
@-moz-keyframes spin {
to { -moz-transform:rotate(360deg);}
}
@-webkit-keyframes spin {
to { -webkit-transform:rotate(360deg);}
}
@keyframes spin {
to { transform:rotate(360deg);}
}
.atom {
height: 300px;
margin: 0 auto;
-moz-animation: spin 20s linear infinite;
-webkit-animation: spin 20s linear infinite;
animation: spin 20s linear infinite;
width: 300px;
}
.atom div,
.atom div:before,
.atom div:after,
.atom span {
box-sizing: border-box;
}
.atom div {
border: 3px solid #fff;
-webkit-border-radius: 50px / 150px;
-moz-border-radius: 50px / 150px;
border-radius: 50px / 150px;
height: 300px;
margin: 0 auto;
position: relative;
-webkit-transform: rotate(10deg);
-moz-transform: rotate(10deg);
transform: rotate(10deg);
width: 100px;
}
.atom div:before,
.atom div:after {
-webkit-border-radius: 35px / 120px;
-moz-border-radius: 35px / 120px;
border-radius: 35px / 120px;
content: "";
height: 240px;
width: 70px;
}
.atom div:before,
.atom div:after,
.atom span {
border: 3px solid #fff;
display: block;
left: 50%;
position: absolute;
top: 50%;
}
.atom div:before {
-moz-transform: translateY(-45%) translateX(-50%) rotate(-35deg);
-webkit-transform: translateY(-45%) translateX(-50%) rotate(-35deg);
transform: translateY(-45%) translateX(-50%) rotate(-35deg);
}
.atom div:after {
-moz-transform: translateY(-45%) translateX(-50%) rotate(65deg);
-webkit-transform: translateY(-45%) translateX(-50%) rotate(65deg);
transform: translateY(-45%) translateX(-50%) rotate(65deg);
}
.atom span {
-webkit-border-radius: 30px / 90px;
-moz-border-radius: 30px / 90px;
border-radius: 30px / 90px;
height: 180px;
width: 60px;
-webkit-transform: translateY(-50%) translateX(-50%) rotate(-75deg);
-moz-transform: translateY(-50%) translateX(-50%) rotate(-75deg);
transform: translateY(-50%) translateX(-50%) rotate(-75deg);
}
.atom span:after {
...