[HTML&CSS] Animations
( UPDATE 2023 - 05 - 31 )
Animation - 1
Animation
๋ง์ฐ์ค๋ฅผ ์๋ก ์ฌ๋ฆฌ๊ฑฐ๋ transition ์์ด
์ํ๋ ๋งํผ ๊ณ์ ์ฌ์๋๋ ์ ๋๋ฉ์ด์ ์ ๋ง๋ค ์ ์๋ค.
์ ๋๋ฉ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ๊ท์น์ @ketframes ๋ผ๊ณ ์ ๊ณ ,
๊ทธ ๋ค์์ ์ ๋๋ฉ์ด์ ์ ์ด๋ฆ์ ์ ํ๋ค.
A์์ B๊น์ง ์์ง์ด๋ ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ
@keyframes ์ด๋ฆ{} ๋ง๋ ํ
์์ A์ง์ ๋ถํฐ B์ง์ ๊น์ง์ ์ ๋๋ฉ์ด์ ์ ์ ํ
from{A} to{B}
@keyframes coinflip {
from {transform: rotateX(0);}
to {transform: rotateY(360deg);}
}
/* ์ด๋ ๊ฒ ๋ด ์๋๋ฉ์ด์
์ ์ค์ ํ๊ณ , ์ ๋๋ฉ์ด์
์ ์ค ์์ฑ์ ์์ฑํ๋ฉด ๋๋ค. */
img {animation: coinflip 5s ease-in-out;}
*์ฐธ๊ณ
์ด๋ ๊ฒ ์ฌ๋ฌ๊ฐ ์กฐํฉ๋ ๊ฐ๋ฅํ๋ค.
@keyframes coinflip {
from {transform: rotateX(0);}
to {transform: rotateY(360deg) translateX(180deg);}
}
infinite
์์ฑ์ infinite๋ฅผ ์ฐ๋ฉด 5์ด ๋์์ ์ ๋๋ฉ์ด์ ์ด ๋ฌดํ์ผ๋ก ๋ฐ๋ณต.
attr{ animation: ์ ๋๋งค์ด์
์ด๋ฆ infinite; }
Animation - 2
๋ถ์์ฐ์ค๋ฌ์ด ์ ๋๋ฉ์ด์ ๊ฐ์ ๋ฐฉ๋ฒ
๋ง์ฝ y์ถ์ผ๋ก ๋์๊ฐ๋ ์ ๋๋ฉ์ด์ ์ด ์๋๋ฐ ๊ฑฐ๊ธฐ์ x์ถ๋ ์์ง์ด๊ฒ ํ๋ ์ ๋๋ฉ์ด์ ์ ์ถ๊ฐํ๋ค.
Animation:infinite๋ฅผ ์ ๊ฒ๋๋ฉด y์ถ์ ๊ณ์ ๋์ง๋ง x์ถ์ ๋ค์ ์ฒ์์๋ฆฌ์์ ์์ํ๋ค.
์ด๋ฌํ ๋ถ์์ฐ์ค๋ฌ์ด ์ ๋๋ฉ์ด์ ์ ๊ฐ์ ํ๊ณ ์ถ์ ๋
@keyframes “text” {
0% {
Transform: rotateY(0);
}
50% {
Transform: rotateY(180deg) translate(100px)’
}
100% {
Transform: rotateY(0);
}
}
์ด๋ฐ์์ผ๋ก %๋ฅผ ์ฃผ๋ฉด ๋ฐ๋ณตํ๋ ํ์๋ฅผ ๊ณ์ ์ด์ด์ง๋๋ก ๊ฐ์ ํ ์ ์๋ค.
์์ ์์๋ฅผ ์์ ๋กญ๊ฒ ์ถ๊ฐํ ์ ์๋ค.
from to ์ธ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ
from to ๋ง๊ณ , 1,2,3,4,5...10 ํน์ 0% 25% 50% 75% 100% ๊ฐ์ด ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋์ด ์ ๋๋ฉ์ด์ ์ ๋ง๋ค ์ ์๋ค.
๋ค๋ฅธ property๋ค๋ ์ ๋๋ฉ์ด์ ์ผ๋ก ๋ง๋ค ์ ์๋ค.
๊ผญ transform๋ง ์จ์ผํ๋ ๊ฑด ์๋์ง๋ง, transform์ ์ฐ๋๊ฑธ ๊ถํ๋ค.
์ผ๋ถ property๋ ์ ๋๋ฉ์ด์ ์ด ์ ์๋๊ธฐ ๋๋ฌธ์ด๋ค.
css ์ ๋๋ฉ์ด์ ์ฐธ๊ณ ์ฌ์ดํธ
์ถ์ฒ
๋ ธ๋ง๋ ์ฝ๋ ์ฝ์ฝ์ํก ํด๋ก ์ฝ๋ฉ
css ์ ๋๋ฉ์ด์ ์ฐธ๊ณ ์ฌ์ดํธ