HTML5 기반의 기어 애니메이션 특수 효과입니다. 기어 회전의 물리적 원리를 HTML5 코드로 변환하고, 시뮬레이션된 기어 회전의 애니메이션 효과를 웹 페이지에 구현합니다. 이 기어 애니메이션의 가장 큰 특징은 여러 기어로 구성되어 기어 전달에 대한 알고리즘 요구 사항이 크게 증가한다는 것입니다. 또한 이를 구현하기 위해 JavaScript가 아닌 순수 CSS3를 사용했습니다.
HTML 코드
XML/HTML 코드클립보드에 콘텐츠 복사
-
<div id="레벨" >
-
<div id="content" >
-
<div id="gears" >
-
<div id="gears- static">div>
-
<div id="gear- 시스템-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- 시스템-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- 시스템-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- 시스템-4">
-
<div class="shadow" id="shadow6">div>
-
<div id="gear6" >div>
-
<div id="gear4" >div>
-
div>
-
<div id="gear- 시스템-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="체인" >div>
-
<div id="체중" >div>
-
div>
-
div>
-
div>
CSS 코드
CSS 코드클립보드에 콘텐츠 복사
-
#레벨{
-
너비:100%;
-
높이:1px;
-
위치:절대;
-
상위:50%;
-
}
-
#콘텐츠t{
-
텍스트 정렬:가운데;
-
여백-상단:-327px;
-
}
-
#기어{
-
너비:478px;
-
높이:655px;
-
직위:친척;
-
디스플레이:인라인-차단;
-
세로 정렬:가운데;
-
}
-
#gears-정적{
-
배경:url(FgFnjks.png) 반복 금지 -363px -903px;
-
너비:329px;
-
높이:602px;
-
위치:절대;
-
하단하단:5px;
-
맞습니다맞습니다:0px;
-
불투명도:0.4;
-
}
-
#제목{
-
세로 정렬:가운데;
-
색상:#9EB7B5;
-
너비:43%;
-
디스플레이:인라인-차단;
-
}
-
#제목 h1{
-
글꼴 계열: 'PTSansNarrowBold', sans-serif ;
-
글꼴 크기:3.6em;
-
text-shadow:rgba(0, 0, 0, 0.36) 7px 7픽셀 10픽셀;
-
}
-
#제목 p{
-
글꼴군: 산세리프;
-
글꼴 크기:1.2em;
-
줄 높이:148%;
-
text-shadow:rgba(0, 0, 0, 0.36) 1px 1픽셀 0픽셀;
-
}
-
-
.shadow{
-
-webkit-box-shadow: 4px 7px 25px 10px rgba(43, 36, 0, 0.36);
-
-moz-box-shadow: 4픽셀 7픽셀 25픽셀 10px rgba(43, 36, 0, 0.36);
-
box-shadow: 4px 7px 25px 10px rgba(43, 36, 0, 0.36);
-
}
-
-
-
#gear15{
-
배경: url(FgFnjks.png) 반복 금지 0 -993px;
-
너비: 321px;
-
높이: 321px;
-
위치:절대;
-
왼쪽:45px;
-
상단:179px;
-
-
-webkit-animation: 뒤로 회전 24000ms 선형 무한;
-
-moz-animation: 뒤로 회전 24000ms 선형 무한;
-
-ms-animation: 뒤로 회전 24000ms 선형 무한;
-
애니메이션: 뒤로 회전 24000ms 선형 무한;
-
}
-
#shadow15{
-
너비:306px;
-
높이:306px;
-
-웹킷-테두리-반경:153px;
-
-moz-테두리-반경:153px;
-
테두리-반경:153px;
-
위치:절대;
-
왼쪽:52px;
-
상단:186px;
-
}
-
#gear14{
-
배경: url(FgFnjks.png) 반복 금지 0 -856px;
-
너비: 87px;
-
높이: 87px;
-
위치:절대;
-
왼쪽:162px;
-
상단:296px;
-
}
-
#shadow14{
-
너비:70px;
-
높이:70px;
-
-웹킷-테두리-반경:35px;
-
-moz-테두리-반경:35px;
-
테두리-반경:35px;
-
위치:절대;
-
왼쪽:171px;
-
상단:304px;
-
}
-
#gear13{
-
배경: url(FgFnjks.png) 반복 금지 0 -744px;
-
너비: 62px;
-
높이: 62px;
-
위치:절대;
-
왼쪽:174px;
-
상단:309px;
-
-
-webkit-animation: 8000ms 선형 무한 회전;
-
-moz-animation: 8000ms 선형 무한 회전;
-
-ms-animation: 8000ms 선형 무한 회전;
-
애니메이션: 8000ms 선형 무한 회전;
-
}
-
#shadow13{
-
너비:36px;
-
높이:36px;
-
-웹킷-테두리-반경:18px;
-
-moz-테두리-반경:18px;
-
테두리-반경:18px;
-
위치:절대;
-
왼쪽:187px;
-
상단:322px;
-
}
-
-
-
#gear10{
-
배경: url(FgFnjks.png) 반복 금지 0 -184px;
-
너비: 122px;
-
높이: 122px;
-
위치:절대;
-
왼쪽:175px;
-
상위:0;
-
-
-webkit-animation: 8000ms 선형 무한대 뒤로 회전;
-
-moz-animation: 뒤로 회전 8000ms 선형 무한;
-
-ms-animation: 뒤로 회전 8000ms 선형 무한;
-
애니메이션: 뒤로 회전 8000ms 선형 무한;
-
}
-
#shadow10{
-
너비:86px;
-
높이:86px;
-
-웹킷-테두리-반경:43px;
-
-moz-테두리-반경:43px;
-
테두리-반경:43px;
-
위치:절대;
-
왼쪽:193px;
-
상단:18px;
-
}
-
#gear3{
-
배경: url(FgFnjks.png) 반복 금지 0 -1493px;
-
너비: 85px;
-
높이: 84px;
-
위치:절대;
-
왼쪽:194px;
-
상단:19px;
-
-
-webkit-animation: 10000ms 선형 무한 회전;
-
-moz-animation: 10000ms 선형 무한 회전;
-
-ms-animation: 10000ms 선형 무한 회전;
-
애니메이션: 10000ms 선형 무한 회전;
-
}
-
#shadow3{
-
너비:60px;
-
높이:60px;
-
-웹킷-테두리-반경:30px;
-
-moz-테두리-반경:30px;
-
테두리-반경:30px;
-
위치:절대;
-
왼쪽:206px;
-
상단:31px;
-
}
-
-
-
#gear9{
-
배경: url(FgFnjks.png) 반복 금지 -371픽셀 -280픽셀;
-
너비: 234px;
-
높이: 234px;
-
위치:절대;
-
왼쪽:197px;
-
상단:96px;
-
-
-webkit-animation: 12000ms 선형 무한 회전;
-
-moz-animation: 12000ms 선형 무한 회전;
-
-ms-animation: 12000ms 선형 무한 회전;
-
애니메이션: 12000ms 선형 무한 회전;
-
}
-
#shadow9{
-
너비:200px;
-
높이:200px;
-
-웹킷-테두리-반경:100px;
-
-moz-테두리-반경:100px;
-
테두리-반경:100px;
-
위치:절대;
-
왼쪽:214px;
-
상단:113px;
-
}
-
#gear7{
-
배경: url(FgFnjks.png) 반복 금지 -371px 0;
-
너비: 108px;
-
높이: 108px;
-
위치:절대;
-
왼쪽:260px;
-
상단:159px;
-
-
-webkit-animation: 뒤로 회전 10000ms 선형 무한;
-
-moz-animation: 뒤로 회전 10000ms 선형 무한;
-
-ms-animation: 뒤로 회전 10000ms 선형 무한;
-
애니메이션: 뒤로 회전 10000ms 선형 무한;
-
}
-
#shadow7{
-
너비:76px;
-
높이:76px;
-
-웹킷-테두리-반경:38px;
-
-moz-테두리-반경: 38px;
-
테두리-반경: 38px;
-
위치:절대;
-
왼쪽:276px;
-
상단:175px;
-
}
-
-
-
#gear6{
-
배경: url(FgFnjks.png) 반복 금지 0 -1931px;
-
너비: 134px;
-
높이: 134px;
-
위치:절대;
-
왼쪽:305px;
-
하단하단:212px;
-
-
-webkit-animation: 뒤로 회전 10000ms 선형 무한;
-
-moz-animation: 뒤로 회전 10000ms 선형 무한;
-
-ms-animation: 뒤로 회전 10000ms 선형 무한;
-
애니메이션: 뒤로 회전 10000ms 선형 무한;
-
}
-
#shadow6{
-
너비:98px;
-
높이:98px;
-
-웹킷-테두리-반경:49px;
-
-moz-테두리-반경: 49px;
-
테두리-반경: 49px;
-
위치:절대;
-
왼쪽:323px;
-
하단하단:230px;
-
}
-
#gear4{
-
배경: url(FgFnjks.png) 반복 금지 0 -1627px;
-
너비: 69px;
-
높이: 69px;
-
위치:절대;
-
왼쪽:337px;
-
하단하단:245px;
-
-
-webkit-animation: 뒤로 회전 10000ms 선형 무한;
-
-moz-animation: 뒤로 회전 10000ms 선형 무한;
-
-ms-animation: 뒤로 회전 10000ms 선형 무한;
-
애니메이션: 뒤로 회전 10000ms 선형 무한;
-
}
-
-
-
#gear12{
-
배경: url(FgFnjks.png) 반복 금지 0 -530px;
-
너비: 164px;
-
높이: 164px;
-
위치:절대;
-
왼쪽:208px;
-
하단하단:85px;
-
-
-webkit-animation: 8000ms 선형 무한 회전;
-
-moz-animation: 8000ms 선형 무한 회전;
-
-ms-animation: 8000ms 선형 무한 회전;
-
애니메이션: 8000ms 선형 무한 회전;
-
}
-
#shadow12{
-
너비:124px;
-
높이:124px;
-
-웹킷-테두리-반경:62px;
-
-moz-테두리-반경:62px;
-
테두리-반경:62px;
-
위치:절대;
-
왼쪽:225px;
-
하단하단:107px;
-
}
-
#gear11{
-
배경: url(FgFnjks.png) 반복 금지 0 -356px;
-
너비: 125px;
-
높이: 124px;
-
위치:절대;
-
왼쪽:228px;
-
하단하단:105px;
-
-
-webkit-animation: 뒤로 회전 10000ms 선형 무한;
-
-moz-animation: 뒤로 회전 10000ms 선형 무한;
-
-ms-animation: 뒤로 회전 10000ms 선형 무한;
-
애니메이션: 뒤로 회전 10000ms 선형 무한;
-
}
-
#shadow11{
-
너비:88px;
-
높이:88px;
-
-웹킷-테두리-반경:44px;
-
-moz-테두리-반경:44px;
-
테두리-반경:44px;
-
위치:절대;
-
왼쪽:247px;
-
하단하단:123px;
-
}
-
#gear8{
-
배경: url(FgFnjks.png) 반복 금지 -371px -158px;
-
너비: 72px;
-
높이: 72px;
-
위치:절대;
-
왼쪽:254px;
-
하단하단:131px;
-
-
-webkit-animation: 6000ms 선형 무한 회전;
-
-moz-animation: 6000ms 선형 무한 회전;
-
-ms-animation: 6000ms 선형 무한 회전;
-
애니메이션: 6000ms 선형 무한 회전;
-
}
-
#shadow8{
-
너비:42px;
-
높이:42px;
-
-웹킷-테두리-반경:21px;
-
-moz-테두리-반경: 21px;
-
테두리-반경: 21px;
-
위치:절대;
-
왼쪽:269px;
-
하단하단:146px;
-
}
-
-
-
#gear1{
-
배경: url(FgFnjks.png) 반복 금지 0 0;
-
너비: 135px;
-
높이: 134px;
-
위치:절대;
-
왼쪽:83px;
-
하단하단:111px;
-
-
-webkit-animation: 뒤로 회전 10000ms 선형 무한;
-
-moz-animation: 뒤로 회전 10000ms 선형 무한;
-
-ms-animation: 뒤로 회전 10000ms 선형 무한;
-
애니메이션: 뒤로 회전 10000ms 선형 무한;
-
}
-
#shadow1{
-
너비:96px;
-
높이:96px;
-
-웹킷-테두리-반경:48px;
-
-moz-테두리-반경:48px;
-
테두리-반경:48px;