๐ฐ๏ธ ํ์๋ผ์ธ UI: ์๊ฐ ์ฌํํ๋ ๋ฏํ ์น ๊ฒฝํ! ๊ณผ๊ฑฐ์ ๋ฏธ๋๋ฅผ ๋๋๋๋ ๋์์ธ! ๐

์๋ ํ์ธ์, ์ฌ๋ฌ๋ถ! ์ค๋์ ์ ๋ง ํฅ๋ฏธ์ง์งํ ์ฃผ์ ๋ก ์ฌ๋ฌ๋ถ๊ณผ ํจ๊ป ์๊ฐ ์ฌํ์ ๋ ๋๋ณด๋ ค๊ณ ํด์. ๋ฐ๋ก 'ํ์๋ผ์ธ UI'์ ๋ํ ์ด์ผ๊ธฐ์์. ์ด ๋ฉ์ง ๋์์ธ ์์๊ฐ ์ด๋ป๊ฒ ์ฐ๋ฆฌ์ ์น ๊ฒฝํ์ ์์ ์๋ก์ด ์ฐจ์์ผ๋ก ๋์ด์ฌ๋ฆฌ๋์ง, ํจ๊ป ์์๋ณด์์! ๐ขโจ
์ฌ๋ฌ๋ถ, ํน์ ํ์๋จธ์ ํ๊ณ ์ถ๋ค๋ ์๊ฐ ํด๋ณด์ ์ ์๋์? ใ ใ ใ ๊ทธ๋ฐ ๊ฟ๊ฐ์ ์ผ์ด ์น์ฌ์ดํธ์์ ๊ฐ๋ฅํด์ง๋ค๋ฉด ์ด๋จ๊น์? ๋ฐ๋ก ๊ทธ๊ฒ ํ์๋ผ์ธ UI๊ฐ ํด์ฃผ๋ ์ผ์ด์์! ๊ณผ๊ฑฐ๋ถํฐ ํ์ฌ, ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋๊น์ง ํ๋์ ๋ณผ ์ ์๊ฒ ํด์ฃผ๋ ์ด ์ ๊ธฐํ ๋ ์, ํจ๊ป ํํค์ณ๋ด์! ๐ต๏ธโโ๏ธ๐
๐ก ๊ฟํ: ํ์๋ผ์ธ UI๋ ๋จ์ํ ๋์์ธ ์์๊ฐ ์๋์์. ์ฌ์ฉ์์ ์๊ฐ ์ฌํ์ ๋๋ ๊ฐ๋ ฅํ ์คํ ๋ฆฌํ ๋ง ๋๊ตฌ๋๋๋ค! ์ฌ๋ฌ๋ถ์ ์น์ฌ์ดํธ์ ์ด์ผ๊ธฐ๋ฅผ ๋ถ์ด๋ฃ๊ณ ์ถ๋ค๋ฉด, ํ์๋ผ์ธ UI๋ฅผ ๊ณ ๋ คํด๋ณด๋ ๊ฑด ์ด๋จ๊น์?
๐ ํ์๋ผ์ธ UI๋ ๋ญ์ผ? ์ด๊ฐ๋จ ์ค๋ช ! ๐
์, ํ์๋ผ์ธ UI๊ฐ ๋ญ์ง ๊ถ๊ธํ์์ฃ ? ๊ฐ๋จํ ๋งํด์, ์ด๊ฑด ์ ๋ณด๋ฅผ ์๊ฐ ์์๋๋ก ์ซ~ ํผ์ณ๋์ ๊ฑฐ์์. ๋ง์น ๊ธด ์ค์ ๋ฐ๋ผ ๊ณผ๊ฑฐ๋ถํฐ ํ์ฌ, ๋ฏธ๋๊น์ง ์ญ ๋์ด์ ๊ฒ์ฒ๋ผ์. ์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๋ค์ด ํ๋์ ์๊ฐ์ ํ๋ฆ์ ํ์ ํ ์ ์์ด์. ์์ ๊ฟ์ผ ์๋์์? ๐
ํ์๋ผ์ธ UI๋ ๋ณดํต ์ธ๋ก๋ ๊ฐ๋ก๋ก ๊ธด ์ ์ ๊ทธ๋ฆฌ๊ณ , ๊ทธ ์ ์์ ์ค์ํ ์ฌ๊ฑด์ด๋ ์ ๋ณด๋ฅผ ๋๊ทธ๋ผ๋ฏธ๋ ๋ค๋ชจ ๊ฐ์ ๋ชจ์์ผ๋ก ํ์ํด์. ์ด ๋ชจ์๋ค์ ํด๋ฆญํ๋ฉด ๋ ์์ธํ ์ ๋ณด๊ฐ ๋ฟ ! ํ๊ณ ๋ํ๋์ฃ . ๋ง์น ํ์๋จธ์ ์ ํ๊ณ ๊ทธ ์๊ฐ์ผ๋ก ์๊ฐ์ด๋ํ ๊ฒ ๊ฐ์ ๋๋์ด ๋ค์ด์! ๐โณ
๐จ ๋์์ธ ํฌ์ธํธ: ํ์๋ผ์ธ UI๋ฅผ ๋ง๋ค ๋๋ ์๊น๊ณผ ์์ด์ฝ์ ์ ํ์ฉํ์ธ์! ๊ฐ ์๋๋ ์ฌ๊ฑด๋ง๋ค ๋ค๋ฅธ ์์ ์จ์ ๊ตฌ๋ถํ๋ฉด ๋ ์ฝ๊ฒ ์ดํดํ ์ ์์ด์. ์์ด์ฝ๋ ์๋๋ ์ฌ๊ฑด์ ํน์ง์ ์ ๋ํ๋ด๋ ๊ฑธ๋ก ๊ณจ๋ผ์ฃผ๋ฉด ๊ธ์์ฒจํ! ๐โจ
๐ค ํ์๋ผ์ธ UI, ์ด๋์ ๋ง์ด ๋ดค๋๋ฐ?
๋ง์์, ์ฌ๋ฌ๋ถ! ํ์๋ผ์ธ UI๋ ์ฐ๋ฆฌ ์ฃผ๋ณ์์ ์๊ฐ๋ณด๋ค ๋ง์ด ๋ณผ ์ ์์ด์. ์๋ฅผ ๋ค๋ฉด:
- ๐ ์ญ์ฌ ์น์ฌ์ดํธ: ์ธ๊ณ์ฌ๋ ํ๊ตญ์ฌ๋ฅผ ์ฐ๋์์ผ๋ก ๋ณด์ฌ์ค ๋
- ๐ข ํ์ฌ ์๊ฐ ํ์ด์ง: ํ์ฌ์ ์ฑ์ฅ ๊ณผ์ ์ ๋ณด์ฌ์ค ๋
- ๐ฑ ์์ ๋ฏธ๋์ด: ํ์ด์ค๋ถ์ด๋ ์ธ์คํ๊ทธ๋จ์ ํผ๋๋ ์ผ์ข ์ ํ์๋ผ์ธ์ด์์!
- ๐๏ธ ์ํ๋ ๋๋ผ๋ง ์๊ฐ ํ์ด์ง: ์คํ ๋ฆฌ์ ํ๋ฆ์ ๋ณด์ฌ์ค ๋
- ๐ ์ด๋ ฅ์๋ ํฌํธํด๋ฆฌ์ค: ๊ฐ์ธ์ ๊ฒฝ๋ ฅ์ด๋ ํ์ต ๊ณผ์ ์ ๋ณด์ฌ์ค ๋
์ด๋ ๊ฒ ๋ค์ํ ๊ณณ์์ ์ฐ์ด๋ ํ์๋ผ์ธ UI, ์ฌ๋ฌ๋ถ๋ ํ ๋ฒ์ฏค์ ๋ดค์ ๊ฑฐ์์. ์ด๋ค๊ฐ์, ์๊ฐ๋ณด๋ค ์น์ํ์ฃ ? ใ ใ
๐ ํ์๋ผ์ธ UI์ ๋งค๋ ฅ ํฌ์ธํธ!
์, ์ด์ ํ์๋ผ์ธ UI๊ฐ ์ ์ด๋ ๊ฒ ์ธ๊ธฐ ์๋์ง ์์๋ณผ๊น์? ๊ทธ ๋งค๋ ฅ ํฌ์ธํธ๋ฅผ ์ซ ์ ๋ฆฌํด๋ดค์ด์!
- ํ๋์ ์: ๋ณต์กํ ์ ๋ณด๋ ์๊ฐ ์์๋๋ก ์ ๋ฆฌํ๋๊น ์ดํดํ๊ธฐ ์ฌ์์. ๐
- ์คํ ๋ฆฌํ ๋ง์ ๋ฌ์ธ: ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ์ด์ผ๊ธฐ๋ฅผ ํ์ด๋ด๋๊น ๋ ํฅ๋ฏธ๋กญ๊ฒ ์ ๋ฌํ ์ ์์ด์. ๐
- ์ธํฐ๋ํฐ๋ธํ ์ฌ๋ฏธ: ํด๋ฆญํ๊ณ ์คํฌ๋กคํ๋ฉด์ ์ ๋ณด๋ฅผ ํํํ๋ ์ฌ๋ฏธ๊ฐ ์์ด์. ๐ฑ๏ธ
- ์๊ฐ์ ์ผ๋ก ๋ฉ์ ธ์: ์ ๊ณผ ์์ด์ฝ, ์๊น์ ํ์ฉํด์ ๋ณด๊ธฐ๋ง ํด๋ ์์๋ต๋๋ค. ๐จ
- ๋ชจ๋ฐ์ผ ์นํ์ : ์ธ๋ก๋ก ์คํฌ๋กคํ๊ธฐ ์ข์์ ๋ชจ๋ฐ์ผ์์๋ ์ ๋จนํ์. ๐ฑ
์ด๋ ๊ฒ ๋ง์ ์ฅ์ ์ด ์์ผ๋, ํ์๋ผ์ธ UI๊ฐ ์ธ๊ธฐ ์๋ ๊ฒ๋ ๋น์ฐํ์ฃ ? ์ฌ๋ฌ๋ถ์ ์น์ฌ์ดํธ๋ ์ฑ์ ์ ์ฉํ๋ฉด ์ฌ์ฉ์๋ค์ด "์, ๋๋ฐ!" ํ๊ณ ๋๋ ๊ฑฐ์์. ใ ใ ใ
๐ก ์ค์ฉ์ ์ธ ํ: ์ฌ๋ฅ๋ท(https://www.jaenung.net)๊ฐ์ ์ฌ๋ฅ ๊ณต์ ํ๋ซํผ์์ ํ์๋ผ์ธ UI ๋์์ธ์ ์๋ขฐํด๋ณด๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด์์! ์ ๋ฌธ๊ฐ์ ์๊ธธ๋ก ๋์ฑ ๋ฉ์ง ํ์๋ผ์ธ์ ๋ง๋ค ์ ์๋ต๋๋ค. ๐
๐จ ํ์๋ผ์ธ UI ๋์์ธ์ ํต์ฌ ์์๋ค
์, ์ด์ ํ์๋ผ์ธ UI๋ฅผ ๊ตฌ์ฑํ๋ ํต์ฌ ์์๋ค์ ๋ํด ์์ธํ ์์๋ณผ๊น์? ์ด ์์๋ค์ ์ ์กฐํฉํ๋ฉด ์ ๋ง ๋ฉ์ง ํ์๋ผ์ธ์ ๋ง๋ค ์ ์์ด์!
1. ๐ ์ค์ฌ์ (Timeline Axis)
ํ์๋ผ์ธ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ์์์์. ๋ณดํต ์ธ๋ก๋ ๊ฐ๋ก๋ก ๊ธด ์ ์ ๊ทธ์ด์ ์๊ฐ์ ํ๋ฆ์ ๋ํ๋ด์ฃ . ์ด ์ ์ ๋ฐ๋ผ ์ฌ๊ฑด๋ค์ด ๋ฐฐ์น๋๋ ๊ฑฐ์์.
- ์ธ๋กํ: ์์์ ์๋๋ก ์๊ฐ์ด ํ๋ฌ๊ฐ์. ๋ชจ๋ฐ์ผ์์ ํนํ ์ข์์!
- ๊ฐ๋กํ: ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์๊ฐ์ด ํ๋ฌ๊ฐ์. ๋ฐ์คํฌํฑ์์ ์์์์ํ๊ฒ ํผ์ณ ๋ณด์ด๊ธฐ ์ข์ฃ .
์ค์ฌ์ ์ ์ง์ ์ผ ํ์๋ ์์ด์. ๊ณก์ ์ด๋ ์ง๊ทธ์ฌ๊ทธ ๋ชจ์์ผ๋ก ๋ง๋ค์ด๋ ์ฌ๋ฏธ์๋ต๋๋ค! ๐
2. ๐ต ๋ ธ๋ (Nodes)
์ค์ฌ์ ์์ ์ฐํ๋ ์ ๋ค์ด์์. ๊ฐ๊ฐ์ ์ค์ํ ์ฌ๊ฑด์ด๋ ์์ ์ ๋ํ๋ด์ฃ . ๋ณดํต ๋๊ทธ๋ผ๋ฏธ๋ ๋ค๋ชจ ๋ชจ์์ ๋ง์ด ์จ์.
- ํฌ๊ธฐ: ์ค์ํ ์ฌ๊ฑด์ ๋ ํฌ๊ฒ, ๋ ์ค์ํ ๊ฑด ์๊ฒ ๋ง๋ค์ด์.
- ์์: ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ๋ค๋ฅธ ์์ ์จ์ ๊ตฌ๋ถํด์.
- ์์ด์ฝ: ๊ฐ ์ฌ๊ฑด์ ๋ํํ๋ ์์ด์ฝ์ ๋ฃ์ผ๋ฉด ๋ ์ง๊ด์ ์ด์์!
๋ ธ๋๋ฅผ ํด๋ฆญํ๋ฉด ๋ ์์ธํ ์ ๋ณด๊ฐ ๋์ค๊ฒ ๋ง๋ค๋ฉด ์์ ๊ฟ์ผ์ด์์! ๐ฏ
3. ๐ ์ฝํ ์ธ ๋ฐ์ค (Content Boxes)
๊ฐ ๋ ธ๋์ ํด๋นํ๋ ์์ธํ ์ ๋ณด๋ฅผ ๋ด๋ ๊ณณ์ด์์. ํ ์คํธ, ์ด๋ฏธ์ง, ์์ ๋ฑ ๋ค์ํ ์ฝํ ์ธ ๋ฅผ ๋ฃ์ ์ ์์ด์.
- ๋ ์ด์์: ๋ ธ๋ ์์ ๋ฐ๋ก ํ์ํ๊ฑฐ๋, ํด๋ฆญํ๋ฉด ํ์ ์ผ๋ก ๋์ค๊ฒ ํ ์ ์์ด์.
- ๋์์ธ: ๋ฐฐ๊ฒฝ์, ํ ๋๋ฆฌ, ๊ทธ๋ฆผ์ ๋ฑ์ ํ์ฉํด์ ๋์ ์ ๋๊ฒ ๋ง๋ค์ด์.
- ๋ฐ์ํ: ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ์ ๋์ ์ผ๋ก ๋ณํ๊ฒ ๋ง๋ค๋ฉด ์ข์์!
์ฝํ ์ธ ๋ฐ์ค๋ ํ์๋ผ์ธ์ ๊ฝ์ด์์. ์ฌ๊ธฐ์ ์ผ๋ง๋ ์ฌ๋ฏธ์๋ ๋ด์ฉ์ ๋ด๋๋์ ๋ฐ๋ผ ํ์๋ผ์ธ์ ๋งค๋ ฅ์ด ๊ฒฐ์ ๋๋ต๋๋ค! ๐บ
4. ๐ท๏ธ ๋ ์ด๋ธ (Labels)
๊ฐ ์์ ์ด๋ ์ฌ๊ฑด์ ์ด๋ฆ, ๋ ์ง ๋ฑ์ ํ์ํ๋ ํ ์คํธ์์. ์ฌ์ฉ์๊ฐ ์ง๊ธ ์ด๋ ์์ ์ ๋ณด๊ณ ์๋์ง ์๋ ค์ฃผ๋ ์ค์ํ ์ญํ ์ ํด์.
- ํฐํธ: ์ฝ๊ธฐ ์ฌ์ด ํฐํธ๋ฅผ ์ ํํด์. ๋๋ฌด ํ๋ คํ๋ฉด ์คํ๋ ค ์ญํจ๊ณผ!
- ํฌ๊ธฐ: ์ค์๋์ ๋ฐ๋ผ ํฌ๊ธฐ๋ฅผ ๋ค๋ฅด๊ฒ ํด์.
- ์์น: ๋ ธ๋ ์, ์๋, ์ ๋ฑ ์ฝ๊ธฐ ํธํ ์์น์ ๋ฐฐ์นํด์.
๋ ์ด๋ธ์ ๊ฐ๊ฒฐํ๋ฉด์๋ ๋ช ํํ๊ฒ! ํ๋์ ์์๋ณผ ์ ์๊ฒ ๋ง๋๋ ๊ฒ ํฌ์ธํธ์์. ๐
5. ๐ญ ์๊ฐ์ ์์ (Visual Elements)
ํ์๋ผ์ธ์ ๋์ฑ ํ์ฑํ๊ณ ์ฌ๋ฏธ์๊ฒ ๋ง๋๋ ์ฅ์๋ค์ด์์. ์ด๋ฏธ์ง, ์์ด์ฝ, ์ผ๋ฌ์คํธ๋ ์ด์ ๋ฑ์ ํ์ฉํด์.
- ๋ฐฐ๊ฒฝ: ์ ์ฒด ํ์๋ผ์ธ์ ๋ฐฐ๊ฒฝ์ ๊ด๋ จ ์ด๋ฏธ์ง๋ ํจํด์ ๋ฃ์ด์.
- ์์ด์ฝ: ๊ฐ ์ฌ๊ฑด์ ๋ํํ๋ ๊ท์ฌ์ด ์์ด์ฝ๋ค์ ์ฌ์ฉํด์.
- ์ ๋๋ฉ์ด์ : ์คํฌ๋กค์ ๋ฐ๋ผ ์์๋ค์ด ์์ง์ด๊ฒ ๋ง๋ค๋ฉด ๋ ์ญ๋์ ์ด์์!
์๊ฐ์ ์์๋ ํ์๋ผ์ธ์ ์๋ช ์ ๋ถ์ด๋ฃ์ด์. ํ์ง๋ง ๊ณผํ๋ฉด ์คํ๋ ค ์ฐ๋งํด ๋ณด์ผ ์ ์์ผ๋ ์ ๋นํ! ๐จ
โ ๏ธ ์ฃผ์์ฌํญ: ํ์๋ผ์ธ UI๋ฅผ ๋์์ธํ ๋๋ ํญ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ต์ฐ์ ์ผ๋ก ์๊ฐํ์ธ์! ์๋ฌด๋ฆฌ ์์๊ณ ํ๋ คํด๋ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๋ฉด ์์ฉ์์ด์. ์ฌํํ๋ฉด์๋ ์ง๊ด์ ์ธ ๋์์ธ์ด ์ต๊ณ ๋๋๋ค! ๐
์ด๋ ๊ฒ 5๊ฐ์ง ํต์ฌ ์์๋ฅผ ์ ์กฐํฉํ๋ฉด ์ ๋ง ๋ฉ์ง ํ์๋ผ์ธ UI๋ฅผ ๋ง๋ค ์ ์์ด์. ์ฌ๋ฌ๋ถ๋ง์ ์ฐฝ์๋ ฅ์ ๋ฐํํด์ ๋ ํนํ๊ณ ๋งค๋ ฅ์ ์ธ ํ์๋ผ์ธ์ ๋ง๋ค์ด๋ณด์ธ์! ๐
๐ป ํ์๋ผ์ธ UI ๊ตฌํํ๊ธฐ: ์ด๋ณด์๋ ํ ์ ์์ด์!
์, ์ด์ ์ค์ ๋ก ํ์๋ผ์ธ UI๋ฅผ ๋ง๋ค์ด๋ณผ ์ฐจ๋ก์์! ๊ฑฑ์ ๋ง์ธ์, ์ด๋ ต์ง ์์์. ๊ธฐ๋ณธ์ ์ธ HTML, CSS, ๊ทธ๋ฆฌ๊ณ ์ฝ๊ฐ์ JavaScript๋ง ์๋ฉด ์ถฉ๋ถํด์. ํจ๊ป ๋จ๊ณ๋ณ๋ก ๋ง๋ค์ด๋ณผ๊น์? ๐ ๏ธ
1๋จ๊ณ: HTML ๊ตฌ์กฐ ๋ง๋ค๊ธฐ
๋จผ์ ํ์๋ผ์ธ์ ๋ผ๋๋ฅผ HTML๋ก ๋ง๋ค์ด๋ณผ๊ฒ์. ๊ฐ๋จํ ์ธ๋กํ ํ์๋ผ์ธ์ ์๋ก ๋ค์ด๋ณผ๊ฒ์.
<div class="timeline">
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-date">2021๋
</div>
<div class="timeline-content">
<h3>์ฒซ ๋ฒ์งธ ์ฌ๊ฑด</h3>
<p>์ฌ๊ธฐ์ ์์ธํ ๋ด์ฉ์ ์ ์ด์.</p>
</div>
</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-date">2022๋
</div>
<div class="timeline-content">
<h3>๋ ๋ฒ์งธ ์ฌ๊ฑด</h3>
<p>์ฌ๊ธฐ์ ์์ธํ ๋ด์ฉ์ ์ ์ด์.</p>
</div>
</div>
<!-- ๋ ๋ง์ ์์ดํ
์ ์ถ๊ฐํ ์ ์์ด์ -->
</div>
์ด๋ ๊ฒ ํ๋ฉด ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๊ฐ ์์ฑ๋ผ์. ๊ฐ ์ฌ๊ฑด๋ง๋ค timeline-item
ํด๋์ค๋ฅผ ๊ฐ์ง div๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ์์ ์ (dot), ๋ ์ง, ๋ด์ฉ์ ๋ฃ์ด์คฌ์ด์. ๐
2๋จ๊ณ: CSS๋ก ์คํ์ผ ์ ํ๊ธฐ
์ด์ CSS๋ก ์์๊ฒ ๊พธ๋ฉฐ๋ณผ ์ฐจ๋ก์์! ๐จ
.timeline {
position: relative;
max-width: 1200px;
margin: 0 auto;
}
.timeline::after {
content: '';
position: absolute;
width: 6px;
background-color: #4CAF50;
top: 0;
bottom: 0;
left: 50%;
margin-left: -3px;
}
.timeline-item {
padding: 10px 40px;
position: relative;
background-color: inherit;
width: 50%;
}
.timeline-item::after {
content: '';
position: absolute;
width: 25px;
height: 25px;
right: -17px;
background-color: white;
border: 4px solid #FF9F55;
top: 15px;
border-radius: 50%;
z-index: 1;
}
.timeline-date {
font-weight: bold;
color: #4CAF50;
}
.timeline-content {
padding: 20px 30px;
background-color: white;
position: relative;
border-radius: 6px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
์ฐ์~ ์ด์ ์ข ๊ทธ๋ด๋ฏํด ๋ณด์ด์ฃ ? ๐ ์ค์ฌ์ ์ ๋ง๋ค๊ณ , ๊ฐ ์์ดํ ์ ์ข์ฐ๋ก ๋ฐฐ์นํ์ด์. ๋๊ทธ๋ผ๋ฏธ ์ ๋ ๋ง๋ค๊ณ , ์ฝํ ์ธ ๋ฐ์ค์ ๊ทธ๋ฆผ์๋ ๋ฃ์ด์คฌ์ด์.
3๋จ๊ณ: JavaScript๋ก ์๋๊ฐ ์ฃผ๊ธฐ
๋ง์ง๋ง์ผ๋ก JavaScript๋ฅผ ์ฌ์ฉํด์ ์คํฌ๋กค์ ๋ฐ๋ผ ์์ดํ ์ด ๋ํ๋๋ ํจ๊ณผ๋ฅผ ์ค๋ณผ๊ฒ์!
function checkScroll() {
var elements = document.querySelectorAll('.timeline-item');
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var position = element.getBoundingClientRect().top;
if(position < window.innerHeight - 100) {
element.classList.add('visible');
}
}
}
window.addEventListener('scroll', checkScroll);
checkScroll(); // ํ์ด์ง ๋ก๋ ์ ํ ๋ฒ ์คํ
์ด ์ฝ๋๋ ์คํฌ๋กคํ ๋๋ง๋ค ํ์๋ผ์ธ ์์ดํ ์ด ํ๋ฉด์ ๋ณด์ด๋์ง ์ฒดํฌํ๊ณ , ๋ณด์ด๋ฉด 'visible' ํด๋์ค๋ฅผ ์ถ๊ฐํด์. CSS์์ ์ด ํด๋์ค์ ์ ๋๋ฉ์ด์ ์ ์ค ์ ์์ด์.
.timeline-item {
opacity: 0;
transform: translateY(50px);
transition: all 0.5s ease-out;
}
.timeline-item.visible {
opacity: 1;
transform: translateY(0);
}
์ง์~ ๐ ์ด์ ์คํฌ๋กคํ ๋๋ง๋ค ์์ดํ ์ด ๋ถ๋๋ฝ๊ฒ ๋ํ๋๋ ํจ๊ณผ๊ฐ ์๊ฒผ์ด์! ์์ ํ๋กํ์ ๋ํ ๋๋ ์๋๊ฐ์? ใ ใ
๐ก ๊ฟํ: ์ฌ๋ฅ๋ท(https://www.jaenung.net)์์ JavaScript ์ ๋ฌธ๊ฐ๋ฅผ ์ฐพ์ ๋ ๋ณต์กํ ์ธํฐ๋์ ์ ๊ตฌํํด๋ณด๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด์์! ์ ๋ฌธ๊ฐ์ ๋์์ ๋ฐ์ผ๋ฉด ๋์ฑ ๋ฉ์ง ํ์๋ผ์ธ์ ๋ง๋ค ์ ์๋ต๋๋ค. ๐
๐ ํ์๋ผ์ธ UI ๋์์ธ ํธ๋ ๋์ ํ
์, ์ด์ ํ์๋ผ์ธ UI์ ์ต์ ํธ๋ ๋์ ์ค์ฉ์ ์ธ ํ๋ค์ ์์๋ณผ๊น์? ์ด๊ฑธ ์๋ฉด ์ฌ๋ฌ๋ถ์ ํ์๋ผ์ธ์ด ํ์ธต ๋ ๋น๋ ๊ฑฐ์์! โจ
1. ๋ฏธ๋๋ฉ๋ฆฌ์ฆ์ ๋งค๋ ฅ
์์ฆ ํธ๋ ๋๋ ๋จ์ํ๋ฉด์๋ ์ธ๋ จ๋ ๋์์ธ์ด์์. ๋ถํ์ํ ์์๋ ๊ณผ๊ฐํ ๋นผ๊ณ , ๊ผญ ํ์ํ ์ ๋ณด๋ง ๋ด์๋ณด์ธ์.
- ๊น๋ํ ์ ๊ณผ ๊ฐ๊ฒฐํ ์์ด์ฝ ์ฌ์ฉํ๊ธฐ
- ์ฌ๋ฐฑ์ ์ถฉ๋ถํ ์ฃผ์ด ์์ํ ๋๋ ์ฃผ๊ธฐ
- ์ค์ํ ์ ๋ณด๋ง ๊ณจ๋ผ ํ์ํ๊ธฐ
๋ฏธ๋๋ฉํ ๋์์ธ์ ์ฌ์ฉ์์ ์ง์ค๋ ฅ์ ๋์ด๊ณ , ์ ๋ณด๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฌํ ์ ์์ด์. ๋ค์ผ๋ก ๋ก๋ฉ ์๋๋ ๋นจ๋ผ์ง์ฃ ! ๐
2. ๋คํฌ ๋ชจ๋ ์ง์
๋คํฌ ๋ชจ๋๊ฐ ๋์ธ๋ผ๋ ๊ฑฐ ์์์ฃ ? ํ์๋ผ์ธ UI์๋ ๋คํฌ ๋ชจ๋๋ฅผ ์ ์ฉํด๋ณด์ธ์!
- ๋์ ํผ๋ก๋ฅผ ์ค์ฌ์ฃผ๋ ํจ๊ณผ
- ์ธ๋ จ๋๊ณ ๋ชจ๋ํ ๋๋ ์ฐ์ถ
- ๋ฐ์ ๋ชจ๋์ ๋คํฌ ๋ชจ๋ ์ ํ ๊ธฐ๋ฅ ์ ๊ณต
๋คํฌ ๋ชจ๋๋ฅผ ์ง์ํ๋ฉด ์ฌ์ฉ์ ๊ฒฝํ์ด ํ์ธต ์ ๊ทธ๋ ์ด๋๋ผ์. ๋ฐค์ ๋ณด๊ธฐ์๋ ์ข๊ณ , ๋ฐฐํฐ๋ฆฌ ์ ์ฝ์๋ ๋์์ด ๋๋ต๋๋ค! ๐
3. ์ธํฐ๋ํฐ๋ธํ ์์ ์ถ๊ฐ
์ฌ์ฉ์์ ์ํธ์์ฉํ๋ ์์๋ฅผ ๋ฃ์ด ์ฌ๋ฏธ๋ฅผ ๋ํด๋ณด์ธ์!
- ํธ๋ฒ ํจ๊ณผ: ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ์ถ๊ฐ ์ ๋ณด๊ฐ ๋ํ๋๊ฒ ํ๊ธฐ
- ํด๋ฆญ ์ด๋ฒคํธ: ๋ ธ๋๋ฅผ ํด๋ฆญํ๋ฉด ์์ธ ์ ๋ณด ํ์ ๋์ฐ๊ธฐ
- ๋๋๊ทธ ์ค ๋๋กญ: ์ฌ์ฉ์๊ฐ ์ง์ ํ์๋ผ์ธ์ ์กฐ์ํ ์ ์๊ฒ ํ๊ธฐ
์ธํฐ๋ํฐ๋ธํ ์์๋ ์ฌ์ฉ์์ ์ฐธ์ฌ๋ฅผ ์ ๋ํ๊ณ , ๋ ์ค๋ ๋จธ๋ฌผ๊ฒ ๋ง๋๋ ํจ๊ณผ๊ฐ ์์ด์. ์์ ๊ฟ์ผ! ๐ฏ
4. ๋ฐ์ํ ๋์์ธ ํ์!
๋ชจ๋ฐ์ผ ์๋์ ๋ฐ์ํ์ ์ ํ์ด ์๋ ํ์์์. ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ ๋ณด์ด๋๋ก ๋ง๋ค์ด์ฃผ์ธ์.
- ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ ์ด์์ ๋ณ๊ฒฝํ๊ธฐ
- ๋ชจ๋ฐ์ผ์์๋ ์ธ๋กํ, ๋ฐ์คํฌํฑ์์๋ ๊ฐ๋กํ์ผ๋ก ์ ํ
- ํฐ์น ๊ธฐ๋ฐ ์ธํฐํ์ด์ค ๊ณ ๋ คํ๊ธฐ
๋ฐ์ํ ๋์์ธ์ผ๋ก ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ต์ ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ด์. ์ด๋ค ๊ธฐ๊ธฐ๋ก ๋ด๋ ์๋ฒฝ! ๐
5. ์คํ ๋ฆฌํ ๋ง์ ์ง์คํ๊ธฐ
ํ์๋ผ์ธ UI์ ํต์ฌ์ ๊ฒฐ๊ตญ ์คํ ๋ฆฌํ ๋ง์ด์์. ๋จ์ํ ๋์ด์ด ์๋, ํฅ๋ฏธ์ง์งํ ์ด์ผ๊ธฐ๋ฅผ ๋ง๋ค์ด๋ณด์ธ์.
- ๊ฐ ์ฌ๊ฑด ์ฌ์ด์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ ๋ง๋ค๊ธฐ
- ๊ฐ์ ์ ์๊ทนํ๋ ๋ฌธ๊ตฌ๋ ์ด๋ฏธ์ง ์ฌ์ฉํ๊ธฐ
- ์ ์ฒด์ ์ธ ํ๋ฆ์ ๊ณ ๋ คํ ๊ตฌ์ฑ
์ข์ ์คํ ๋ฆฌ๋ ์ฌ์ฉ์๋ฅผ ๋์ด๋ค์ด๊ณ , ์ค๋ ๊ธฐ์ต์ ๋จ๊ฒ ๋ง๋ค์ด์. ์ฌ๋ฌ๋ถ์ ํ์๋ผ์ธ์ด ํ ํธ์ ์ํ๊ฐ ๋๋๋ก ๋ง๋ค์ด๋ณด์ธ์! ๐ฌ
- ์ง์์ธ์ ์ฒ - ์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
- ์ ์๊ถ ๋ฐ ์์ ๊ถ: ๋ณธ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ๋ ์ AI ๊ธฐ์ ๋ก ์์ฑ๋์์ผ๋ฉฐ, ๋ํ๋ฏผ๊ตญ ์ ์๊ถ๋ฒ ๋ฐ ๊ตญ์ ์ ์๊ถ ํ์ฝ์ ์ํด ๋ณดํธ๋ฉ๋๋ค.
- AI ์์ฑ ์ปจํ ์ธ ์ ๋ฒ์ ์ง์: ๋ณธ AI ์์ฑ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ์ง์ ์ฐฝ์๋ฌผ๋ก ์ธ์ ๋๋ฉฐ, ๊ด๋ จ ๋ฒ๊ท์ ๋ฐ๋ผ ์ ์๊ถ ๋ณดํธ๋ฅผ ๋ฐ์ต๋๋ค.
- ์ฌ์ฉ ์ ํ: ์ฌ๋ฅ๋ท์ ๋ช ์์ ์๋ฉด ๋์ ์์ด ๋ณธ ์ปจํ ์ธ ๋ฅผ ๋ณต์ , ์์ , ๋ฐฐํฌ, ๋๋ ์์ ์ ์ผ๋ก ํ์ฉํ๋ ํ์๋ ์๊ฒฉํ ๊ธ์ง๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์์ง ๊ธ์ง: ๋ณธ ์ปจํ ์ธ ์ ๋ํ ๋ฌด๋จ ์คํฌ๋ํ, ํฌ๋กค๋ง, ๋ฐ ์๋ํ๋ ๋ฐ์ดํฐ ์์ง์ ๋ฒ์ ์ ์ฌ์ ๋์์ด ๋ฉ๋๋ค.
- AI ํ์ต ์ ํ: ์ฌ๋ฅ๋ท์ AI ์์ฑ ์ปจํ ์ธ ๋ฅผ ํ AI ๋ชจ๋ธ ํ์ต์ ๋ฌด๋จ ์ฌ์ฉํ๋ ํ์๋ ๊ธ์ง๋๋ฉฐ, ์ด๋ ์ง์ ์ฌ์ฐ๊ถ ์นจํด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์ฌ๋ฅ๋ท์ ์ต์ AI ๊ธฐ์ ๊ณผ ๋ฒ๋ฅ ์ ๊ธฐ๋ฐํ์ฌ ์์ฌ์ ์ง์ ์ฌ์ฐ๊ถ์ ์ ๊ทน์ ์ผ๋ก ๋ณดํธํ๋ฉฐ,
๋ฌด๋จ ์ฌ์ฉ ๋ฐ ์นจํด ํ์์ ๋ํด ๋ฒ์ ๋์์ ํ ๊ถ๋ฆฌ๋ฅผ ๋ณด์ ํฉ๋๋ค.
ยฉ 2025 ์ฌ๋ฅ๋ท | All rights reserved.
๋๊ธ 0๊ฐ