๐ ์ด์ ํ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ ์ฌ๋ฏธ์์๋ค. ์ค๋์ ์น ํ์ด์ง์ ๋์ ์ธ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ ์ ๋๋ฉ์ด์ ํจ๊ณผ์ ๋ํด์ ํ์ต์ ํ๋ค. ์ค๋๋ ์ด์ ์ ๊ฐ์ด ์ฌ๋ฏธ์๋ ์๊ฐ์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค.
๐ ์ค๋ ํ์ตํ ๋ด์ฉ
CSS ์ ๋๋ฉ์ด์
- @keyframes
- CSS๋ก ํคํ๋ ์ ๋ธ๋ก์ ๋ง๋ ๋ค
@keyframes ์ ๋๋ฉ์ด์
์ด๋ฆ{
0% { /* from์ผ๋ก ์์ฑ๊ฐ๋ฅ */
CSS์์ฑ: ์์ฑ๊ฐ;
transform: rotate(0deg)
}
50% {
CSS์์ฑ: ์์ฑ๊ฐ;
transform: rotate(180deg)
}
100% { /* to์ผ๋ก ์์ฑ๊ฐ๋ฅ */
CSS์์ฑ: ์์ฑ๊ฐ;
transform: rotate(360deg)
}
}
/* ์์ ์์ ์์ 0๋, 50ํ๋ก ์์ ์์ 180๋, ์๋ฃ์์ ์์ 360๋ ํ์ ์ํด*/
์ ๋๋ฉ์ด์ ์์ฑ
- animation: ๋์ด์ฐ๊ธฐ๋ก ์์ฑ ๋์ด ๊ฐ๋ฅ
- animation-name: ์ ๋๋ฉ์ด์ ์ ์ค๊ฐ ์ํ๋ฅผ ์ง์ ํ๋ ์ด๋ฆ.
#logo{
animation: lotate;
animation-name: lotate;
/* ๋ ๋ค ์ฌ์ฉ๊ฐ๋ฅ */
}
- animation-duration: ํ ์ธ์ดํฌ๋ฅด์ด ์ ๋๋ฉ์ด์ ์ด ์ฌ์๋ ์๊ฐ ์ง์
#logo{
animation: lotate 3s;
/* =================== */
animation-name: lotate;
animation-duration: 3s;
}
- animation-delay: ์ ๋๋ฉ์ด์ ์ ์์์ ์ง์ฐ์ํฌ ์๊ฐ ์ง์
#logo{
animation-name: lotate;
animation-duration: 3s;
animation-delay: 3s;
}
- animation-direction: ์ ๋๋ฉ์ด์
์ฌ์ ๋ฐฉํฅ์ ์ง์
- normal: ๊ธฐ๋ณธ๊ฐ (์ฌ์ ์ข ๋ฃ ํ ๋ค์ ์ฌ์)
- reverse: ์ญ๋ฐฉํฅ ์ฌ์
- alternate: ์๋ฐํฅ๋ถํฐ ์ญ๋ฐฉํฅ์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ฌ์
- alternate-reverse: ์ญ๋ฐฉํฅ๋ถํฐ ์๋ฐํฅ์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ฌ์
#logo{
animation-name: lotate;
animation-duration: 3s;
animation-direction: arternate;
}
- animation-iteration-count: ์ ๋๋ฉ์ด์ ์ด ๋ช ๋ฒ ๋ฐ๋ณต๋ ์ง ์ง์
#logo{
animation-name: lotate;
animation-duration: 3s;
animation-iteration-count: 3;
/* ์ ๋๋ฉ์ด์
3ํ ๋ฐ๋ณต */
}
- animation-play-state: ์ ๋๋ฉ์ด์ ์ ์ฌ์ ์ํ(์ผ์์ ์ง, ์ฌ์์)
#logo{
animation-name: lotate;
animation-duration: 3s;
animation-play-state: pause;
}
- animation-timing-function: ์ค๊ฐ ์ํ๋ค์ ์ ํ์ ์ด๋ค ์๊ฐ๊ฐ๊ฒฉ์ผ๋ก ์งํํ ์ง ์ง์
- linear: ์ผ์ ํ ๊ฐ๊ฒฉ
- ease: ๊ธฐ๋ณธ๊ฐ
- ease-in
- ease-out
- ease-in-out
- animation-fill-mode: ์ ๋๋ฉ์ด์
์ ์ฌ์ ์ ํ์ ์ํ ์ง์
- none: ๊ธฐ๋ณธ๊ฐ
- forwards: ๋ง์ง๋ง ํคํ๋ ์ ์คํ์ผ ์ ์ง
- backwards: ์ฒซ ๋ฒ์งธ ํคํ๋ ์ ์คํ์ผ ์ ์ง
- both: ์ฌ์ ์ - ์ฒซ ๋ฒ์งธ ํคํ๋ ์ ์คํ์ผ, ์ฌ์ ํ - ๋ง์ง๋ง ํคํ๋ ์ ์คํ์ผ ์ ์ง
Canvas
- ๋ค์ํ ๊ทธ๋ํฝ ์์๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
- ๋จ์ํ ๋ํ ๊ทธ๋ฆฌ๊ธฐ, ๋ฐ์ดํฐ ์๊ฐํ, ์ ๋๋ฉ์ด์ , ์น ๊ฒ์ ๋ฑ์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์ฝํ ์ธ ๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๋ค.
<canvas id="canvas">
์บ๋ฒ์ค๋ฅผ ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์์๋ ์บ๋ฒ์ค ๋์ ํ๊ทธ ์ฌ์ด ๋ด์ฉ ํ์
</canvas>
- ์บ๋ฒ์ค ํฌ๊ธฐ ์ง์ (๊ธฐ๋ณธํฌ๊ธฐ 300px * 150px)
<canvas id="canvas" width="500" height="500"></canvas>
<canvas id="canvas" width="50vw" height="40vh"></canvas>
์บ๋ฒ์ค๋ก ์ฌ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ
- ์์
- ctx.fillStyle = 'blue'
- ctx.fillRect = (10, 10, 100, 50)
- ์
- ctx.lineWitdth = 5;
ctx.strokeStyle = "black"; - ctx.strokeRect(10, 10, 100, 50)
- ctx.lineWitdth = 5;
- ์ง์ฐ๊ธฐ
- ctx.clearRect(20, 20, 80, 30)
๐ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๋ด์ฉ
[udemy] React ์๋ฒฝ ๊ฐ์ด๋ ๊ฐ์ ๋ณด๊ธฐ (๋งค์ผ ์กฐ๊ธ์ฉ ์ด๋ผ๋ ๊พธ์คํ ๋ฃ๊ธฐ)
Study์๊ณผ ํจ๊ป ์งํ์ค์ธ ํ๋ก์ ํธ ๊ตฌํ
- ๋ก๊ทธ์ธ ํผ ๊ตฌํ
๐ ์ค์ํ ๋ด์ฉ
- CSS ์ ๋๋ฉ์ด์ ์ฌ์ฉ๋ฒ
- ์บ๋ฒ์ค ์ฌ์ฉ๋ฒ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
22.07.26_TIL (0) | 2022.07.26 |
---|---|
22.07.25_TIL (0) | 2022.07.25 |
22.07.21_TIL (0) | 2022.07.21 |
22.07.19_TIL (0) | 2022.07.19 |
22.07.18_TIL (0) | 2022.07.18 |