JSFiddle - React, Tailwind, and code Playground
by Alex Bergin
HTML
<div id="letter">B</div>
<div id="description">is for Bicycle</div>
<div id="animation">
<div class="bike">
<div class="bell">
<div class="ringer">
<div class="lever"></div>
</div>
<div class="audio">
<div></div>
<div></div>
<div></div>
</div>
<div class="stand"></div>
</div>
<div class="front wheel">
<div class="rim">
<div class="air"></div>
</div>
<div class="hub"></div>
<div class="spokes">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="frame">
<div></div>
<div></div>
<div></div>
<div class="small"></div>
<div></div>
<div></div>
<div class="small"></div>
<div class="small"></div>
</div>
<div class="seat">
<div class="support"></div>
<div class="saddle"></div>
</div>
<div class="handlebars">
<div class="frameConnector"></div>
<div class="handle"></div>
</div>
<div class="pedals">
<div class="gear">
<div class="hub"></div>
<div class="struts">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="front pedal">
<div class="footpad"></div>
</div>
<div class="back pedal">
<div class="footpad"></div>
...
CSS
* {
padding: 0;
margin: 0;
}
html , body {
width: 100%;
height: 100%:
overflow: hidden;
position: fixed;
top: 50%;
left: 0%;
}
html {
background-color: rgba(255,250,250,1);
}
#letter {
font-size: 120px;
font-family: Helvetica;
font-weight: Bold;
color: rgba(18,22,26,0.7);
width: 120px;
height: 120px;
text-align: center;
vertical-align: middle;
line-height: 120px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -60px;
margin-left: -60px;
z-index: 100;
}
#description {
position: fixed;
bottom: 10px;
width: 100%;
z-index: 100;
font-family: Helvetica;
font-weight: 200;
color: rgba(18,22,26,0.7);
text-align: center;
font-size: 11px;
letter-spacing: 1px;
}
.bell {
position: absolute;
top: 50%;
left: 50%;
margin-top: -99px;
margin-left: -117px;
z-index: 100;
}
.bell .stand {
position: absolute;
background-color: rgba(18,22,26,0.4);
width: 6px;
height: 3px;
}
.bell .lever {
position: absolute;
width: 2px;
height: 2px;
background-color: rgba(18,22,26,0.2);
margin-top: 3px;
margin-left: 14px;
z-index: -1;
}
.bell .ringer {
position: absolute;
width: 14px;
height: 6px;
margin-left: -4px;
margin-top:-6px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
background-color: rgba(246,188,49,0.6);
animation: audioMove 5s linear 0s infinite alternate none;
-webkit-animation: audioMove 5s linear 0s infinite alternate none;
}
.bell .audio {
margin-top: -8px;
margin-left: 4px;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
position: absolute;
}
.bell .audio div {
width: 15px;
border-top: 1px dashed rgba(246,188,49,0.6);
animation: audioLines 5s linear 0s infinite...