๋ถ์ ์ผ์ ๐ฅ .
์๋๋ CSS ์ฝ๋์ ๋๋ค.
:root {
--flame-size: 100;
}
@keyframes flame-animation {
0%,
100% {
opacity: 0;
transform: translate3d(0, 0, 0) scale(0.75) rotate(0) scale(1);
}
25% {
opacity: 0.35;
transform: translate3d(0, -10%, 0) scale(1) rotate(-3deg) scale(1.05);
}
50% {
opacity: 0.35;
transform: translate3d(0, -4%, 0) scale(1) rotate(3deg) scale(1.1);
}
75% {
opacity: 0.35;
transform: translate3d(0, -20%, 0) scale(1) rotate(-3deg) scale(1.05);
}
99% {
opacity: 0;
transform: translate3d(0, -50%, 0) scale(0.8) rotate(0) scale(1);
}
}
.fire {
position: relative;
display: inline-block;
}
.flame {
position: absolute;
transform-origin: 70% 70%;
z-index: 2;
display: inline-block;
top: calc(var(--flame-size) * -1px);
}
.flame.animate {
animation-duration: 2.5s;
animation-iteration-count: infinite;
animation-name: flame-animation;
opacity: 0;
z-index: 1;
transform: translate3d(0, 15px, 0) scale(0.75) rotate(0);
z-index: 1;
animation-timing-function: ease-in;
}
.flame.animate:nth-child(2) {
animation-delay: 0.5s;
}
.flame.animate:nth-child(3) {
animation-delay: 1s;
}
HTML์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<div class="container">
<p>
Light up
<span class="fire">
<span class="flame base">๐ฅ</span>
<span class="flame animate">๐ฅ</span>
<span class="flame animate">๐ฅ</span>
<span class="flame animate">๐ฅ</span>
</span>
</p>
</div>
์๋ codepen์์ ์ ์ฝ๋์ ์ถ๋ ฅ์ ๋ณผ ์๋ ์์ต๋๋ค.
์์ ์ด๋ฏธ์ง๊ฐ ์ค์ ๋ถ๊ฝ์ฒ๋ผ ๋ณด์ด์ง ์๋๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ ์ด๋ ์์ํ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค!
์๊ฒฌ ์น์ ์์ ๊ทํ์ ์๊ฐ๊ณผ ํผ๋๋ฐฑ์ ์๋ ค์ฃผ์ญ์์ค.
์ฆ๊ฑฐ์ด ์ฝ๋ฉ!!!
๐ฒ ๐ ๐
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๋ถ์ ์ผ์ ๐ฅ .), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/shhdharmen/let-s-light-it-up-h99ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค