๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กUIUX (4)

UI Code Lab

๐ŸŽจ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด CSS + JS๋กœ ๋ถ€๋“œ๋Ÿฌ์šด UI ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋งŒ๋“ค๊ธฐ

์š”์ฆ˜ ์›น์‚ฌ์ดํŠธ ๋ณด๋ฉด ์ธํ„ฐํŽ˜์ด์Šค์— ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์‚ด์ง ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ํ™• ๋‹ค๋ฅด๊ฒŒ ๋А๊ปด์ง€์ž–์•„์š”? ๊ทผ๋ฐ ๋ง‰์ƒ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด GSAP, Framer Motion ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ถ€ํ„ฐ ์ƒ๊ฐ๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ฃ . ๊ทธ๋Ÿฐ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด๋„ CSS์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํžˆ ๋ถ€๋“œ๋Ÿฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑฐ, ์•Œ๊ณ  ๊ณ„์…จ๋‚˜์š”? ์˜ค๋Š˜์€ ์ •๋ง ๊ฐ€๋ณ๊ฒŒ, ํ•˜์ง€๋งŒ ํ™•์‹คํ•˜๊ฒŒ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”! โœ… ์™œ ๊ตณ์ด CSS + JS๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค๊นŒ?๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด:๊ฐ€๋ณ๊ณ  ๋น ๋ฆ…๋‹ˆ๋‹ค! ๋กœ๋”ฉ ์†๋„ ๋น ๋ฅธ ์›น์ด ์œ ๋ฆฌํ•˜๋‹ˆ๊นŒ์š”.์กฐ์ ˆ์ด ์ž์œ ๋กญ์Šต๋‹ˆ๋‹ค! CSS๋กœ ๋ชจ์–‘ ๋งŒ๋“ค๊ณ  JS๋กœ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ œ์–ด๋„ ๊ฐ€๋Šฅํ•ด์š”.๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜๋„ ๊ดœ์ฐฎ์•„์š”! ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์•„์ฃผ ์ž˜ ์ง€์›๋ฉ๋‹ˆ๋‹ค.์˜ˆ์˜๋ฉด์„œ๋„ ์ตœ์ ํ™”๋œ ์›น์„ ๋งŒ๋“ค..

์ง„ํ–‰ ์ƒํ™ฉ์„ ์‹œ๊ฐํ™”ํ•˜๋Š” ํƒ€์ž„๋ผ์ธ UI ๋งŒ๋“ค๊ธฐ (JavaScript ๊ธฐ๋ฐ˜)

์›น์—์„œ ์‚ฌ์šฉ์ž์˜ ์œ„์น˜์™€ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” UI๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ํฐ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. ํŠนํžˆ CAD์™€ ๊ฐ™์€ ๊ธฐ์ˆ  ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํŽ˜์ด์ง€์—์„œ๋Š” “์ง€๊ธˆ ๋‚ด๊ฐ€ ์–ด๋–ค ๋‹จ๊ณ„์— ์žˆ๋Š”์ง€”๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜์ฃ . ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” JavaScript์™€ CSS๋งŒ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์ง„ํ–‰ ๋‹จ๊ณ„ ํƒ€์ž„๋ผ์ธ UI๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก ์ง์ ‘ ํ™œ์šฉํ•œ ์˜ˆ์‹œ๋Š” ํ˜„์žฌ CAD ํŽ˜์ด์ง€์˜ ํ๋ฆ„STEP 1: CAD ํŒŒ์ผ ์ค€๋น„ >> STEP 2: CAD ํŒŒ์ผ ๊ฒ€ํ†  >> STEP 3: ์Šน์ธ ๋Œ€๊ธฐ >> STEP 4: ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ STEP 1๊ณผ STEP 2๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ๋“ฑ๋ก๋œ ์™„๋ฃŒ ๋‹จ๊ณ„๋กœ ๊ฐ™์€ ์ƒ‰์ƒ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜๊ณ , ์Šน์ธ ๋Œ€๊ธฐ ์ƒํƒœ์ธ STEP 3๋Š” ๊ฐ•์กฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ํ‘œํ˜„ํ•ด ์‚ฌ์šฉ์ž์˜ ์ฃผ์˜๋ฅผ ๋Œ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. โœ… ์ฃผ์š”..

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํƒญ ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ (tab)

๐Ÿงญ ์›น UI๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ๋ณธ๊ธฐ – ํƒญ ๊ธฐ๋Šฅ๋ถ€ํ„ฐ ํƒ„ํƒ„ํ•˜๊ฒŒ์›น์‚ฌ์ดํŠธ๋ฅผ ์ฒ˜์Œ ๋ฐฉ๋ฌธํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ ‘ํ•˜๋Š” UI ์š”์†Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํƒญ ๋ฉ”๋‰ด์ž…๋‹ˆ๋‹ค. ์ •๋ณด๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋А๊ปด์ง€๊ธฐ ์‰ฌ์šด๋ฐ, ํƒญ์€ ์ด๋Ÿฐ ๋‚ด์šฉ์„ ์ฃผ์ œ๋ณ„๋กœ ๋‚˜๋ˆ  ๊ฐ€๋…์„ฑ๊ณผ ๊ฒฝํ—˜์„ ๋™์‹œ์— ์žก์„ ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ๋„๊ตฌ์˜ˆ์š”. ์˜ค๋Š˜์€ ์ˆœ์ˆ˜ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํƒญ ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜ ์ ‘๊ทผ์„ฑ(Accessibility)๊นŒ์ง€ ์ฑ™๊ธฐ๋Š” ํŒ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽฏ ํƒญ UI๋ž€?ํƒญ ๋ฉ”๋‰ด๋Š” ์—ฌ๋Ÿฌ ์ •๋ณด ๋ธ”๋ก์„ ๊ฒน์ณ๋‘๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•˜๋Š” ํƒญ์— ๋”ฐ๋ผ ํ•ด๋‹น ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. FAQ, ์ œํ’ˆ ์‚ฌ์–‘, ๋ฉค๋ฒ„ ํ”„๋กœํ•„, ์นดํ…Œ๊ณ ๋ฆฌ ๊ตฌ๋ถ„ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ํ™œ์šฉ๋˜์ฃ . ๐Ÿงฑ HTML ๊ตฌ์กฐ๋ถ€ํ„ฐ ์ค€๋น„ํ•˜๊ธฐ๋จผ์ € ํƒญ ๋ฒ„ํŠผ๊ณผ ์ฝ˜ํ…์ธ  ์˜์—ญ์„ HTML๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํƒญ 1..

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์Šฌ๋ผ์ด๋“œ ํ† ๊ธ€ ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ (SlideUp / SlideDown)

์›น ํŽ˜์ด์ง€์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ˆจ๊ธฐ๊ฑฐ๋‚˜ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ SlideUp ๊ณผ SlideDown ํšจ๊ณผ๋Š” ์ง๊ด€์ ์ธ UI๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” jQuery์™€ ์ˆœ์ˆ˜ JavaScript(๋ฐ”๋‹๋ผ JS)๋ฅผ ์‚ฌ์šฉํ•œ ์Šฌ๋ผ์ด๋“œ ํ† ๊ธ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก jQuery๋กœ ์Šฌ๋ผ์ด๋“œ ํ† ๊ธ€ ๊ตฌํ˜„jQuery์—์„œ๋Š” .slideUp(), slideDown(), .slideToggle() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.$(document).ready(function() { $("#toggleButton").click(function() { $("#content").slideToggle(500); // 500ms ๋™์•ˆ ์Šฌ๋ผ์ด..