This is a gear animation special effect based on HTML5. We convert the physical principles of gear rotation into HTML5 code and implement the animation effect of simulated gear rotation on the web page. The biggest feature of this gear animation is that it is composed of multiple gears, which greatly increases the algorithm requirements for gear transmission. Moreover, we did not use JavaScript, but pure CSS3 to implement it.
HTML code
XML/HTML CodeCopy content to clipboard
-
<div id="level">
-
<div id="content">
-
<div id="gears">
-
<div id="gears-static">div>
-
<div id="gear-system-1">
-
<div class="shadow" id="shadow15">div>
-
<div id="gear15">div>
-
<div class="shadow" id="shadow14">div>
-
<div id="gear14">div>
-
<div class="shadow" id="shadow13">div>
-
<div id="gear13">div>
-
div>
-
<div id="gear-system-2">
-
<div class="shadow" id="shadow10">div>
-
<div id="gear10">div>
-
<div class="shadow" id="shadow3">div>
-
<div id="gear3">div>
-
div>
-
<div id="gear-system-3">
-
<div class="shadow" id="shadow9">div>
-
<div id="gear9">div>
-
<div class="shadow" id="shadow7">div>
-
<div id="gear7">div>
-
div>
-
<div id="gear-system-4">
-
<div class="shadow" id="shadow6">div>
-
<div id="gear6">div>
-
<div id="gear4">div>
-
div>
-
<div id="gear-system-5">
-
<div class="shadow" id="shadow12">div>
-
<div id="gear12">div>
-
<div class="shadow" id="shadow11">div>
-
<div id="gear11">div>
-
<div class="shadow" id="shadow8">div>
-
<div id="gear8">div>
-
div>
-
<div class="shadow" id="shadow1">div>
-
<div id="gear1">div>
-
<div id="gear-system-6">
-
<div class="shadow" id="shadow5">div>
-
<div id="gear5">div>
-
<div id="gear2">div>
-
div>
-
<div class="shadow" id="shadowweight">div>
-
<div id="chain-circle">div>
-
<div id="chain">div>
-
<div id="weight">div>
-
div>
-
div>
-
div>
CSS code
CSS CodeCopy content to clipboard
-
#level{
-
width:100%;
-
height:1px;
-
position:absolute;
-
top:50%;
-
}
-
#content{
-
text-align:center;
-
margin-top:-327px;
-
}
-
#gears{
-
width:478px;
-
height:655px;
-
position:relative;
-
display:inline-block;
-
vertical-align:middle;
-
}
-
#gears-static{
-
background:url(FgFnjks.png) no-repeat -363px -903px;
-
width:329px;
-
height:602px;
-
position:absolute;
-
bottombottom:5px;
-
rightright:0px;
-
opacity:0.4;
-
}
-
#title{
-
vertical-align:middle;
-
color:#9EB7B5;
-
width:43%;
-
display:inline-block;
-
}
-
#title h1{
-
font-family: 'PTSansNarrowBold', sans-serif;
-
font-size:3.6em;
-
text-shadow:rgba(0, 0, 0, 0.36) 7px 7px 10px;
-
}
-
#title p{
-
font-family: sans-serif;
-
font-size:1.2em;
-
line-height:148%;
-
text-shadow:rgba(0, 0, 0, 0.36) 1px 1px 0px;
-
}
-
-
.shadow{
-
-webkit-box-shadow: 4px 7px 25px 10px rgba(43, 36, 0, 0.36);
-
-moz-box-shadow: 4px 7px 25px 10px rgba(43, 36, 0, 0.36);
-
box-shadow: 4px 7px 25px 10px rgba(43, 36, 0, 0.36);
-
}
-
-
-
#gear15{
-
background: url(FgFnjks.png) no-repeat 0 -993px;
-
width: 321px;
-
height: 321px;
-
position:absolute;
-
left:45px;
-
top:179px;
-
-
-webkit-animation: rotate-back 24000ms linear infinite;
-
-moz-animation: rotate-back 24000ms linear infinite;
-
-ms-animation: rotate-back 24000ms linear infinite;
-
animation: rotate-back 24000ms linear infinite;
-
}
-
#shadow15{
-
width:306px;
-
height:306px;
-
-webkit-border-radius:153px;
-
-moz-border-radius:153px;
-
border-radius:153px;
-
position:absolute;
-
left:52px;
-
top:186px;
-
}
-
#gear14{
-
background: url(FgFnjks.png) no-repeat 0 -856px;
-
width: 87px;
-
height: 87px;
-
position:absolute;
-
left:162px;
-
top:296px;
-
}
-
#shadow14{
-
width:70px;
-
height:70px;
-
-webkit-border-radius:35px;
-
-moz-border-radius:35px;
-
border-radius:35px;
-
position:absolute;
-
left:171px;
-
top:304px;
-
}
-
#gear13{
-
background: url(FgFnjks.png) no-repeat 0 -744px;
-
width: 62px;
-
height: 62px;
-
position:absolute;
-
left:174px;
-
top:309px;
-
-
-webkit-animation: rotate 8000ms linear infinite;
-
-moz-animation: rotate 8000ms linear infinite;
-
-ms-animation: rotate 8000ms linear infinite;
-
animation: rotate 8000ms linear infinite;
-
}
-
#shadow13{
-
width:36px;
-
height:36px;
-
-webkit-border-radius:18px;
-
-moz-border-radius:18px;
-
border-radius:18px;
-
position:absolute;
-
left:187px;
-
top:322px;
-
}
-
-
-
#gear10{
-
background: url(FgFnjks.png) no-repeat 0 -184px;
-
width: 122px;
-
height: 122px;
-
position:absolute;
-
left:175px;
-
top:0;
-
-
-webkit-animation: rotate-back 8000ms linear infinite;
-
-moz-animation: rotate-back 8000ms linear infinite;
-
-ms-animation: rotate-back 8000ms linear infinite;
-
animation: rotate-back 8000ms linear infinite;
-
}
-
#shadow10{
-
width:86px;
-
height:86px;
-
-webkit-border-radius:43px;
-
-moz-border-radius:43px;
-
border-radius:43px;
-
position:absolute;
-
left:193px;
-
top:18px;
-
}
-
#gear3{
-
background: url(FgFnjks.png) no-repeat 0 -1493px;
-
width: 85px;
-
height: 84px;
-
position:absolute;
-
left:194px;
-
top:19px;
-
-
-webkit-animation: rotate 10000ms linear infinite;
-
-moz-animation: rotate 10000ms linear infinite;
-
-ms-animation: rotate 10000ms linear infinite;
-
animation: rotate 10000ms linear infinite;
-
}
-
#shadow3{
-
width:60px;
-
height:60px;
-
-webkit-border-radius:30px;
-
-moz-border-radius:30px;
-
border-radius:30px;
-
position:absolute;
-
left:206px;
-
top:31px;
-
}
-
-
-
#gear9{
-
background: url(FgFnjks.png) no-repeat -371px -280px;
-
width: 234px;
-
height: 234px;
-
position:absolute;
-
left:197px;
-
top:96px;
-
-
-webkit-animation: rotate 12000ms linear infinite;
-
-moz-animation: rotate 12000ms linear infinite;
-
-ms-animation: rotate 12000ms linear infinite;
-
animation: rotate 12000ms linear infinite;
-
}
-
#shadow9{
-
width:200px;
-
height:200px;
-
-webkit-border-radius:100px;
-
-moz-border-radius:100px;
-
border-radius:100px;
-
position:absolute;
-
left:214px;
-
top:113px;
-
}
-
#gear7{
-
background: url(FgFnjks.png) no-repeat -371px 0;
-
width: 108px;
-
height: 108px;
-
position:absolute;
-
left:260px;
-
top:159px;
-
-
-webkit-animation: rotate-back 10000ms linear infinite;
-
-moz-animation: rotate-back 10000ms linear infinite;
-
-ms-animation: rotate-back 10000ms linear infinite;
-
animation: rotate-back 10000ms linear infinite;
-
}
-
#shadow7{
-
width:76px;
-
height:76px;
-
-webkit-border-radius:38px;
-
-moz-border-radius: 38px;
-
border-radius: 38px;
-
position:absolute;
-
left:276px;
-
top:175px;
-
}
-
-
-
#gear6{
-
background: url(FgFnjks.png) no-repeat 0 -1931px;
-
width: 134px;
-
height: 134px;
-
position:absolute;
-
left:305px;
-
bottombottom:212px;
-
-
-webkit-animation: rotate-back 10000ms linear infinite;
-
-moz-animation: rotate-back 10000ms linear infinite;
-
-ms-animation: rotate-back 10000ms linear infinite;
-
animation: rotate-back 10000ms linear infinite;
-
}
-
#shadow6{
-
width:98px;
-
height:98px;
-
-webkit-border-radius:49px;
-
-moz-border-radius: 49px;
-
border-radius: 49px;
-
position:absolute;
-
left:323px;
-
bottombottom:230px;
-
}
-
#gear4{
-
background: url(FgFnjks.png) no-repeat 0 -1627px;
-
width: 69px;
-
height: 69px;
-
position:absolute;
-
left:337px;
-
bottombottom:245px;
-
-
-webkit-animation: rotate-back 10000ms linear infinite;
-
-moz-animation: rotate-back 10000ms linear infinite;
-
-ms-animation: rotate-back 10000ms linear infinite;
-
animation: rotate-back 10000ms linear infinite;
-
}
-
-
-
#gear12{
-
background: url(FgFnjks.png) no-repeat 0 -530px;
-
width: 164px;
-
height: 164px;
-
position:absolute;
-
left:208px;
-
bottombottom:85px;
-
-
-webkit-animation: rotate 8000ms linear infinite;
-
-moz-animation: rotate 8000ms linear infinite;
-
-ms-animation: rotate 8000ms linear infinite;
-
animation: rotate 8000ms linear infinite;
-
}
-
#shadow12{
-
width:124px;
-
height:124px;
-
-webkit-border-radius:62px;
-
-moz-border-radius:62px;
-
border-radius:62px;
-
position:absolute;
-
left:225px;
-
bottombottom:107px;
-
}
-
#gear11{
-
background: url(FgFnjks.png) no-repeat 0 -356px;
-
width: 125px;
-
height: 124px;
-
position:absolute;
-
left:228px;
-
bottombottom:105px;
-
-
-webkit-animation: rotate-back 10000ms linear infinite;
-
-moz-animation: rotate-back 10000ms linear infinite;
-
-ms-animation: rotate-back 10000ms linear infinite;
-
animation: rotate-back 10000ms linear infinite;
-
}
-
#shadow11{
-
width:88px;
-
height:88px;
-
-webkit-border-radius:44px;
-
-moz-border-radius:44px;
-
border-radius:44px;
-
position:absolute;
-
left:247px;
-
bottombottom:123px;
-
}
-
#gear8{
-
background: url(FgFnjks.png) no-repeat -371px -158px;
-
width: 72px;
-
height: 72px;
-
position:absolute;
-
left:254px;
-
bottombottom:131px;
-
-
-webkit-animation: rotate 6000ms linear infinite;
-
-moz-animation: rotate 6000ms linear infinite;
-
-ms-animation: rotate 6000ms linear infinite;
-
animation: rotate 6000ms linear infinite;
-
}
-
#shadow8{
-
width:42px;
-
height:42px;
-
-webkit-border-radius:21px;
-
-moz-border-radius: 21px;
-
border-radius: 21px;
-
position:absolute;
-
left:269px;
-
bottombottom:146px;
-
}
-
-
-
#gear1{
-
background: url(FgFnjks.png) no-repeat 0 0;
-
width: 135px;
-
height: 134px;
-
position:absolute;
-
left:83px;
-
bottombottom:111px;
-
-
-webkit-animation: rotate-back 10000ms linear infinite;
-
-moz-animation: rotate-back 10000ms linear infinite;
-
-ms-animation: rotate-back 10000ms linear infinite;
-
animation: rotate-back 10000ms linear infinite;
-
}
-
#shadow1{
-
width:96px;
-
height:96px;
-
-webkit-border-radius:48px;
-
-moz-border-radius:48px;
-
border-radius:48px;