CSS ์ ๋๋ฉ์ด์ : GIF ์ด๋ฏธ์ง ์ ๋๋ฉ์ด์ ๊ตฌํํ๊ธฐ
์ค๋์ ์กฐ๊ธ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก, GIF ์ด๋ฏธ์ง๋ฅผ ์ ๋๋ฉ์ด์ ์ผ๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. ์ ๋๋ฉ์ด์ ์ ๋ง๋ค ์ด๋ฏธ์ง ์ฐพ๊ธฐ
๋จผ์ , ์ด๋ ํ GIF ์ด๋ฏธ์ง๋ฅผ ์ ๋๋ฉ์ด์ ์ผ๋ก ๋ง๋ค ๊ฒ์ธ์ง ๊ฒฐ์ ํฉ๋๋ค.
2. ์ ๋๋ฉ์ด์ ์ ํ๋ ์ ๋์ดํ๊ธฐ
Photoshop์์ GIF ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ Timeline ์ฐฝ์ ๋์ฐ๋ฉด, GIF๋ฅผ ์ด๋ฃจ๊ณ ์๋ ๊ฐ๊ฐ์ ๋ ์ด์ด๋ค์ด ๋ํ๋ฉ๋๋ค. ์ฌ์ฐ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ 1600px * 1200px์ด๋ฉฐ, ๋ ์ด์ด๋ ์ด 18๊ฐ๊ฐ ์์์ต๋๋ค. GIF์ ์ด๋ฏธ์ง์ ๋๋น(1600px) X ๋ ์ด์ด ์(18)์ ๊ฐ(28,800px)์ ๊ตฌํด์ค๋๋ค. ์ดํ, width๊ฐ์ด 28,800px, height๊ฐ์ด 1200px์ธ ์๋ก์ด ์ฐฝ์ ๋ง๋ค๊ณ , ์ฌ์ฐ์ ์์ง์์ ํด๋นํ๋ ๊ฐ๊ฐ์ ๋ ์ด์ด๋ค์ ๊ฐ๋ก๋ก ๋์ดํ ๋ค ์ด๋ฏธ์ง๋ก ์ ์ฅํด ์ค๋๋ค.
3. ์ฝ๋ฉ
์ด๋ฏธ์ง๊ฐ ์ค๋น๋์๋ค๋ฉด, ์ด์ ์ฝ๋ฉ์ ํด๋ด ์๋ค. ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ก steps๋ฅผ ์์์ ์์ ๋ ์ด์ด ์๋งํผ ์ค์ ํด ์ฃผ๊ณ , keyframes๋ก ์ด๋ฏธ์ง์ background-position์ ๋ณํ๋ฅผ ์ฃผ๋ฉด ์์ฑ์ ๋๋ค.
.step {
height: 800px;
background: #ffe8d9;
position: relative;
overflow: hidden;
}
.step .stepbox {
width: 1600px;
height: 1200px;
background: url(img/ani1.jpg);
border-radius: 0;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
animation: ani 0.7s steps(18, start) infinite;
}
.step .stepbox.start {
animation-play-state: running;
}
.step .stepbox.stop {
animation-play-state: paused;
}
@keyframes ani {
0% {
background-position: 0 0;
}
100% {
background-position: -28800px 0;
}
}
.stepBtn {
position: absolute;
left: 15px;
top: 20px;
}
.stepBtn a {
background: #e16162;
color: #fff;
padding: 10px;
margin: 3px;
border-radius: 3px;
}
4. ๊ฒฐ๊ณผ ํ์ธํ๊ธฐ
See the Pen foxanimation by mj0614k (@mj0614k) on CodePen.
'CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ : ์นด๋ ๋ค์ง๊ธฐ (9) | 2022.09.20 |
---|---|
CSS ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ : ์ผ๋ ์ด๋ ์ ๋๋ฉ์ด์ (8) | 2022.09.19 |
CSS ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ : ์ ๋๋ฉ์ด์ ๊ธฐ์ด (3) | 2022.09.08 |
CSS ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ : SVG (5) | 2022.09.08 |
CSS : SVG ๋ํ ๋ง๋ค๊ธฐ (4) | 2022.09.07 |
๋๊ธ