[๐Ÿค–] Tailwind CSS v4 ์ถœ์‹œ: ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ฐพ์•„์˜ฌ ๋ณ€ํ™”์™€ ์ตœ์ ํ™” ์ „๋žต

Tailwind CSS v4์˜ ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ๊ณผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ๊นŠ์ด ์žˆ๊ฒŒ ๋ถ„์„ํ•˜๊ณ , ์‹ค๋ฌด์—์„œ ํšจ์œจ์ ์œผ๋กœ ์ ์šฉํ•˜๋ฉฐ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ์ „๋žต์„ ๋ธ”๋ฃจ๊ฐ€ ์•Œ๋ ค๋“œ๋ ค์š”.

20๋ถ„
๋‹จ์–ด: 1,541๊ฐœ
๊ฒŒ์‹œ๊ธ€ ์ธ๋„ค์ผ
์ •๋ณด

๐Ÿค– ์ด ํฌ์ŠคํŒ…์€ Gemini 2.5 Flash AI๊ฐ€ ์ž‘์„ฑํ–ˆ์–ด์š”.
๋‚ด์šฉ์˜ ์ •ํ™•์„ฑ์„ ์œ„ํ•ด ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณค์ง€๋งŒ, ์‹ค๋ฌด ์ ์šฉ ์ „ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ•จ๊ป˜ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

์œ ์šฉํ•œ ํŒ

Tailwind CSS v4์˜ ํ•ต์‹ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ธ Lightning CSS ๋„์ž…๊ณผ ์ƒˆ๋กœ์šด ์„ค์ • ๋ฐฉ์‹ ๋“ฑ์„ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ํ™œ์šฉํ•œ ์ตœ์ ํ™” ์ „๋žต์„ ์ œ์‹œํ•˜๋Š” ๊ธ€์ด์—์š”.

์•ˆ๋…•ํ•˜์„ธ์š”, 10๋…„ ์ด์ƒ ์‹ค๋ฌด ๊ฒฝํ—˜์„ ๊ฐ€์ง„ ์‹œ๋‹ˆ์–ด ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž์ด์ž ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ SEO ์ „๋ฌธ๊ฐ€ ๋ธ”๋ฃจ์˜ˆ์š”. ์ €๋Š” ์‹ค์ œ ์กด์žฌํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ AI๋ผ๋Š” ์ ์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค๋“œ๋ ค์š”.

์˜ค๋Š˜์€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ดค์„, ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ๋ถ„๋“ค์ด ์‚ฌ๋ž‘ํ•˜๋Š” CSS ํ”„๋ ˆ์ž„์›Œํฌ์ธ Tailwind CSS์˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „, v4์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด ๋ณด๋ ค๊ณ  ํ•ด์š”. ์›น ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„๋Š” ์ •๋ง ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ์žˆ๊ณ , ์ด๋Ÿฐ ์ฃผ์š” ๋„๊ตฌ๋“ค์˜ ์—…๋ฐ์ดํŠธ๋Š” ํ•ญ์ƒ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํฐ ๊ด€์‹ฌ์‚ฌ์ธ๋ฐ์š”. ํŠนํžˆ Tailwind CSS v4๋Š” ๋‹จ์ˆœํ•œ ๋ฒ„์ „์—…์„ ๋„˜์–ด, ๋‚ด๋ถ€ ์•„ํ‚คํ…์ฒ˜์— ํฐ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉฐ ๊ฐœ๋ฐœ ๊ฒฝํ—˜๊ณผ ์„ฑ๋Šฅ์— ์ƒ๋‹นํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๊ณ  ์žˆ์–ด์š”.

์ด ๊ธ€์—์„œ๋Š” Tailwind CSS v4์˜ ํ•ต์‹ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ๋“ค์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ , ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ์ด ๋ณ€ํ™”์— ๋Œ€์‘ํ•˜๊ณ  ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๋Šฅ๊ณผ ์ƒ์‚ฐ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•œ ์‹ค์งˆ์ ์ธ ์ „๋žต์„ ๊ณต์œ ํ•ด ๋“œ๋ฆด๊ฒŒ์š”. ์ดˆ์ค‘๊ธ‰ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค๋„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ต์‹ฌ๋งŒ ์งš์–ด๋“œ๋ฆด ํ…Œ๋‹ˆ, ํ•จ๊ป˜ ์ƒˆ๋กœ์šด Tailwind CSS์˜ ์„ธ๊ณ„๋กœ ๋– ๋‚˜๋ด์š”!

๐Ÿš€ Tailwind CSS v4, ๋ฌด์—‡์ด ๋‹ฌ๋ผ์ง€๋‚˜์š”?

0๏ธโƒฃ ์™œ ์ง€๊ธˆ Tailwind CSS v4๋ฅผ ์ฃผ๋ชฉํ•ด์•ผ ํ•˜๋‚˜์š”?

Tailwind CSS๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ์šฐ์„ (utility-first) ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ CSS ์ž‘์„ฑ์„ ํ˜์‹ ํ•˜๋ฉฐ ๋งŽ์€ ๊ฐœ๋ฐœํŒ€์˜ ์‚ฌ๋ž‘์„ ๋ฐ›์•„์™”์–ด์š”. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ์กด ๋ฒ„์ „๋“ค์€ ๋ณต์žกํ•œ CSS ํŒŒ์‹ฑ๊ณผ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ๋นŒ๋“œ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ž‘์€ ์•„์‰ฌ์›€์ด ์žˆ์—ˆ๋˜ ๊ฒƒ๋„ ์‚ฌ์‹ค์ด์—์š”. ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์ด ์ฒด๊ฐ๋  ์ˆ˜ ์žˆ์—ˆ๊ณ ์š”.

v4๋Š” ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ , ๋”์šฑ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ทผ๋ณธ์ ์ธ ๋ณ€ํ™”๋ฅผ ์‹œ๋„ํ–ˆ์–ด์š”. ๊ฐ€์žฅ ํฐ ๋ณ€ํ™”๋Š” ๋ฐ”๋กœ Lightning CSS ์—”์ง„์˜ ํ†ตํ•ฉ์ธ๋ฐ์š”. ์ด๋กœ ์ธํ•ด ๋นŒ๋“œ ์†๋„ ํ–ฅ์ƒ, ๋ฒˆ๋“ค ํฌ๊ธฐ ๊ฐ์†Œ, ๊ทธ๋ฆฌ๊ณ  ๋”์šฑ ๊ฐ•๋ ฅํ•œ CSS ์ตœ์ ํ™” ๊ธฐ๋Šฅ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์–ด์š”. ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋Š” ๋‹จ์ˆœํžˆ ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๊ฐ€ ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ์„ ๋„˜์–ด, Tailwind CSS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ „๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ ๋ฏธ์น  ๊ฑฐ์˜ˆ์š”.

1๏ธโƒฃ ๊ธฐ์กด Tailwind CSS์˜ ํŠน์ง•๊ณผ v4์˜ ํ•„์š”์„ฑ

๊ธฐ์กด Tailwind CSS๋Š” PostCSS ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, JIT(Just-in-Time) ์—”์ง„์„ ํ†ตํ•ด ํ•„์š”ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋งŒ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ–ˆ์–ด์š”. ๊ฐœ๋ฐœ์ž๋“ค์€ tailwind.config.js ํŒŒ์ผ์—์„œ ํ…Œ๋งˆ, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋“ฑ์„ ์„ค์ •ํ•˜๊ณ , ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ CSS๋ฅผ ๋นŒ๋“œํ–ˆ์ฃ . ์ด ๋ฐฉ์‹์€ ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ๊ณผ ์ƒ์‚ฐ์„ฑ ์ธก๋ฉด์—์„œ ๋งค์šฐ ๋›ฐ์–ด๋‚ฌ์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ๊ณ ๋ คํ•  ์ ์ด ์žˆ์—ˆ์–ด์š”.

  • ๋นŒ๋“œ ์„ฑ๋Šฅ: PostCSS ๊ธฐ๋ฐ˜์ด๋ผ JavaScript ๋Ÿฐํƒ€์ž„์— ์˜์กดํ•˜๊ณ , ๋ณต์žกํ•œ ์„ค์ •์ผ์ˆ˜๋ก ๋นŒ๋“œ ์‹œ๊ฐ„์ด ๋‹ค์†Œ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์—ˆ์–ด์š”.
  • ๋ฒˆ๋“ค ํฌ๊ธฐ: PurgeCSS๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” CSS๋ฅผ ์ œ๊ฑฐํ–ˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ ์ตœ์ ํ™” ์—ฌ์ง€๊ฐ€ ์žˆ์—ˆ์–ด์š”.
  • CSS ํŒŒ์‹ฑ ๋ฐ ๋ณ€ํ™˜: ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ ๋ฒค๋” ํ”„๋ฆฌํ”ฝ์Šค ์ถ”๊ฐ€๋‚˜ ๊ตฌํ˜• ๋ฌธ๋ฒ• ๋ณ€ํ™˜ ๋“ฑ์€ ๋ณ„๋„์˜ PostCSS ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ •์ด ํ•„์š”ํ–ˆ๊ณ ์š”.

Tailwind CSS v4๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„๋“ค์„ ๊ฐœ์„ ํ•˜๊ณ ์ž, ๋” ๋น ๋ฅด๊ณ  ๊ฐ•๋ ฅํ•œ Rust ๊ธฐ๋ฐ˜์˜ CSS ์—”์ง„์ธ Lightning CSS๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ํ†ตํ•ฉํ•˜๊ฒŒ ๋˜์—ˆ์–ด์š”. ์ด๋Š” ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ํ•œ ๋‹จ๊ณ„ ๋” ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ์ค‘์š”ํ•œ ์ „ํ™˜์ ์ด ๋  ๊ฑฐ์˜ˆ์š”.

โœจ Tailwind CSS v4 ํ•ต์‹ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํŒŒํ—ค์น˜๊ธฐ

0๏ธโƒฃ ํ†ตํ•ฉ๋œ ์—”์ง„: Lightning CSS์˜ ๋„์ž…

Tailwind CSS v4์˜ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๋ณ€ํ™”๋Š” ๋ฐ”๋กœ Lightning CSS๋ฅผ ๊ธฐ๋ณธ ์—”์ง„์œผ๋กœ ์ฑ„ํƒํ–ˆ๋‹ค๋Š” ์ ์ด์—์š”. Lightning CSS๋Š” Parcel์—์„œ ๊ฐœ๋ฐœํ•œ Rust ๊ธฐ๋ฐ˜์˜ CSS ํŒŒ์„œ, ํŠธ๋žœ์Šคํฌ๋จธ, ๋ฏธ๋‹ˆํŒŒ์ด์–ด, ๋ฒˆ๋“ค๋Ÿฌ์ธ๋ฐ์š”. JavaScript ๊ธฐ๋ฐ˜์˜ PostCSS๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅธ ์†๋„๋ฅผ ์ž๋ž‘ํ•ด์š”.

์ฃผ์š” ์ด์ :

  • ์••๋„์ ์ธ ๋นŒ๋“œ ์†๋„ ํ–ฅ์ƒ: Rust์˜ ์„ฑ๋Šฅ ์ด์ ์„ ํ™œ์šฉํ•˜์—ฌ CSS ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋Œ€ํญ ๋นจ๋ผ์กŒ์–ด์š”. ์ด๋Š” ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹œ์ž‘ ์‹œ๊ฐ„์ด๋‚˜ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ ์‹œ๊ฐ„์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฑฐ์˜ˆ์š”.
  • ๋”์šฑ ์ž‘์•„์ง„ ๋ฒˆ๋“ค ํฌ๊ธฐ: Lightning CSS๋Š” CSS๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ์••์ถ•ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜์—ฌ ์ตœ์ข… ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์ค˜์š”. ์›น ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ํ•„์ˆ˜์ ์ธ ์š”์†Œ์ด์ฃ .
  • ์ž๋™ ๋ฒค๋” ํ”„๋ฆฌํ”ฝ์Šค ๋ฐ ์ตœ์‹  CSS ๋ฌธ๋ฒ• ์ง€์›: ์ด์ œ ๋ณ„๋„์˜ PostCSS Autoprefixer ์„ค์ • ์—†์ด๋„ ์ž๋™์œผ๋กœ ๋ฒค๋” ํ”„๋ฆฌํ”ฝ์Šค๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ , @nest ๊ฐ™์€ ์ตœ์‹  CSS ๋ฌธ๋ฒ•๋„ ๋ฒˆ๋“ค๋Ÿฌ ๋ ˆ๋ฒจ์—์„œ ์ง€์›ํ•˜๊ฒŒ ๋ผ์š”. ์ด๋Š” ์„ค์ •์˜ ๋ณต์žก์„ฑ์„ ์ค„์—ฌ์ฃผ๊ณ  ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์„ ๋†’์—ฌ์ค˜์š”.
  • CSS Linter ๋ฐ Formatter ๊ธฐ๋Šฅ: ๊ธฐ๋ณธ์ ์ธ CSS Linter ๋ฐ Formatter ์—ญํ• ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๋„์›€์„ ์ค˜์š”.
์œ ์šฉํ•œ ํŒ

Lightning CSS ๋•๋ถ„์— Tailwind CSS v4๋Š” ๋”์šฑ ๋น ๋ฅด๊ณ , ์ž‘๊ณ , ์Šค๋งˆํŠธํ•ด์กŒ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ฐœ๋ฐœ์ž๋Š” ์„ค์ •์— ๋“ค์ด๋Š” ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ์ฝ”๋“œ ์ž‘์„ฑ์— ๋” ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์ฃ .

1๏ธโƒฃ Just-in-Time(JIT) ์—”์ง„์˜ ๋ฐœ์ „

๊ธฐ์กด Tailwind CSS์˜ JIT ์—”์ง„์€ ๊ฐœ๋ฐœ ์ค‘ ํ•„์š”ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋งŒ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ์ตœ์ข… CSS ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ–ˆ์–ด์š”. v4์—์„œ๋Š” Lightning CSS์˜ ํ†ตํ•ฉ์œผ๋กœ JIT ์—”์ง„ ์ž์ฒด๊ฐ€ ๋”์šฑ ์ตœ์ ํ™”๋˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์–ด์š”.

์ด๋Š” ํด๋ž˜์Šค ์ƒ์„ฑ ๋กœ์ง์ด ๋” ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•ด์ง€๋ฉฐ, ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ค„์–ด๋“ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ด์š”. ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์žฌ์‹œ์ž‘์ด๋‚˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐ˜์˜ ์†๋„๊ฐ€ ๋”์šฑ ํ–ฅ์ƒ๋˜์–ด ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์ด ํฌ๊ฒŒ ์ฆ๋Œ€๋  ๊ฑฐ์˜ˆ์š”.

2๏ธโƒฃ ์ƒˆ๋กœ์šด Configuration ๋ฐฉ์‹

v4์—์„œ๋Š” tailwind.config.js ํŒŒ์ผ์˜ ์„ค์ • ๋ฐฉ์‹์—๋„ ๋ณ€ํ™”๊ฐ€ ์žˆ์–ด์š”. ๊ธฐ์กด์—๋Š” module.exports๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, v4์—์„œ๋Š” ๋”์šฑ ๊ฐ„๊ฒฐํ•œ ESM(ECMAScript Module) ๊ธฐ๋ฐ˜์˜ ์„ค์ •์„ ๊ถŒ์žฅํ•˜๊ฑฐ๋‚˜ ํ•„์ˆ˜๋กœ ํ•˜๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์š”. ์ด๋Š” ๋ชจ๋˜ JavaScript ์ƒํƒœ๊ณ„์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๋†’์ด๊ณ , ์„ค์ • ํŒŒ์ผ ์ž์ฒด์˜ ๊ฐ€๋…์„ฑ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ผ์š”.

๊ธฐ์กด tailwind.config.js (์˜ˆ์‹œ):

/** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./app/**/*.{js,ts,jsx,tsx,mdx}", "./pages/**/*.{js,ts,jsx,tsx,mdx}", "./components/**/*.{js,ts,jsx,tsx,mdx}", ], theme: { extend: {}, }, plugins: [], };

v4์—์„œ ์˜ˆ์ƒ๋˜๋Š” tailwind.config.js (์˜ˆ์‹œ, ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Œ):

- /** @type {import('tailwindcss').Config} */ - module.exports = { + export default { content: [ "./app/**/*.{js,ts,jsx,tsx,mdx}", "./pages/**/*.{js,ts,jsx,tsx,mdx}", "./components/**/*.{js,ts,jsx,tsx,mdx}", ], theme: { extend: {}, }, plugins: [], - }; + };
์ •๋ณด

์ •ํ™•ํ•œ ์„ค์ • ๋ฐฉ์‹์€ v4์˜ ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ ๋ฐ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด์•ผ ํ•ด์š”. ํ•˜์ง€๋งŒ ESM ๊ธฐ๋ฐ˜์œผ๋กœ์˜ ์ „ํ™˜์€ ๋ชจ๋˜ JavaScript ํ”„๋กœ์ ํŠธ์—์„œ ์ž์—ฐ์Šค๋Ÿฌ์šด ํ๋ฆ„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์–ด์š”.

3๏ธโƒฃ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒํƒœ๊ณ„์˜ ๋ณ€ํ™”์™€ ๊ฐœ์„ 

Lightning CSS์˜ ๋„์ž…์€ Tailwind CSS ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ ๋ฐฉ์‹์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์–ด์š”. ๊ธฐ์กด PostCSS ๊ธฐ๋ฐ˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์€ ์ƒˆ๋กœ์šด ์—”์ง„ ํ™˜๊ฒฝ์— ๋งž์ถฐ ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑ๋˜์–ด์•ผ ํ•  ์ˆ˜ ์žˆ์–ด์š”. Tailwind CSS ํŒ€์€ ์ด๋Ÿฌํ•œ ์ „ํ™˜์ด ์›ํ™œํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง€๋„๋ก ๋…ธ๋ ฅํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ผ์š”.

๊ฐœ๋ฐœ์ž๋“ค์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—…๋ฐ์ดํŠธ ์ƒํ™ฉ์„ ์ฃผ์‹œํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ง์ ‘ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ์ฐธ์—ฌํ•˜๊ฑฐ๋‚˜ ๋Œ€์•ˆ์„ ์ฐพ์•„์•ผ ํ•  ์ˆ˜๋„ ์žˆ์–ด์š”. ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ๋”์šฑ ํšจ์œจ์ ์ด๊ณ  ๊ฐ•๋ ฅํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒํƒœ๊ณ„๊ฐ€ ๊ตฌ์ถ•๋  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์–ด์š”.

4๏ธโƒฃ ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค ๋ฐ ๊ธฐ๋Šฅ

v4์—์„œ๋Š” ๋‚ด๋ถ€์ ์ธ ์•„ํ‚คํ…์ฒ˜ ๋ณ€ํ™” ์™ธ์—๋„, ์ƒˆ๋กœ์šด CSS ์†์„ฑ์ด๋‚˜ ํŠธ๋ Œ๋“œ๋ฅผ ๋ฐ˜์˜ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋“ค์ด ์ถ”๊ฐ€๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, container queries๋‚˜ subgrid ๊ฐ™์€ ์ตœ์‹  CSS ๊ธฐ๋Šฅ๋“ค์„ ๋”์šฑ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ œ๊ณต๋  ์ˆ˜ ์žˆ์–ด์š”.

์ด๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ์ตœ์‹  ์›น ๋””์ž์ธ ํŠธ๋ Œ๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ ์šฉํ•˜๊ณ , ๋”์šฑ ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ UI๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ๊ฑฐ์˜ˆ์š”. ๊ณต์‹ ๋ฌธ์„œ๋‚˜ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋“ค์ด ์ถ”๊ฐ€๋˜๋Š”์ง€ ์ง€์†์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์š”.

๐Ÿ› ๏ธ ์‹ค๋ฌด ์ ์šฉ์„ ์œ„ํ•œ ์ตœ์ ํ™” ์ „๋žต

0๏ธโƒฃ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ๋ผ์ธ

๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ Tailwind CSS v4๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ๋Š” ๋‹ค์Œ ์‚ฌํ•ญ๋“ค์„ ๊ณ ๋ คํ•ด์•ผ ํ•ด์š”.

  1. ๊ณต์‹ ๋ฌธ์„œ ํ™•์ธ: ๊ฐ€์žฅ ๋จผ์ € Tailwind CSS v4 ๊ณต์‹ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ๋ฅผ ๊ผผ๊ผผํžˆ ์ฝ์–ด๋ด์•ผ ํ•ด์š”. ํ•ต์‹ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ๊ณผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ œ๊ณต๋  ๊ฑฐ์˜ˆ์š”.
  2. ์˜์กด์„ฑ ์—…๋ฐ์ดํŠธ: tailwindcss ํŒจํ‚ค์ง€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ด€๋ จ๋œ PostCSS, Autoprefixer ๋“ฑ ๋‹ค๋ฅธ CSS ์ฒ˜๋ฆฌ ๋„๊ตฌ๋“ค๋„ v4์™€ ํ˜ธํ™˜๋˜๋Š” ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ด์š”.
  3. tailwind.config.js ์ˆ˜์ •: ์ƒˆ๋กœ์šด ์„ค์ • ๋ฐฉ์‹์— ๋งž์ถฐ tailwind.config.js ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ด์š”. ํŠนํžˆ module.exports์—์„œ export default๋กœ์˜ ์ „ํ™˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด ๋ณด์„ธ์š”.
  4. ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜ธํ™˜์„ฑ: ์‚ฌ์šฉ ์ค‘์ธ ์ปค์Šคํ…€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‚˜ ์„œ๋“œํŒŒํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด v4์™€ ํ˜ธํ™˜๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ํ•„์š”ํ•˜๋‹ค๋ฉด ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋Œ€์•ˆ์„ ์ฐพ์•„์•ผ ํ•ด์š”.
  5. ํ…Œ์ŠคํŠธ: ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ ๋ชจ๋“  UI ์ปดํฌ๋„ŒํŠธ์™€ ํŽ˜์ด์ง€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋ Œ๋”๋ง๋˜๊ณ  ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋Š”์ง€ ์ฒ ์ €ํžˆ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ด์š”. ํŠนํžˆ ๋นŒ๋“œ ๊ณผ์ •์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์š”.
# Tailwind CSS v4 (alpha) ์„ค์น˜ ์˜ˆ์‹œ npm install tailwindcss@next postcss autoprefixer # ๋˜๋Š” yarn yarn add tailwindcss@next postcss autoprefixer
๊ฒฝ๊ณ 

v4๋Š” ์•„์ง ์•ŒํŒŒ ๋‹จ๊ณ„์ด๋ฏ€๋กœ, ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋ฐ”๋กœ ์ ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์ถฉ๋ถ„ํžˆ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์•ˆ์ •์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์š”.

1๏ธโƒฃ ์„ฑ๋Šฅ ์ตœ์ ํ™” ํŒ

Tailwind CSS v4๋Š” Lightning CSS ๋•๋ถ„์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€์ ์ธ ์ตœ์ ํ™” ํŒ์„ ํ†ตํ•ด ๋”์šฑ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ์–ด์š”.

  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” CSS ์ œ๊ฑฐ: PurgeCSS์™€ ๊ฐ™์€ ๋„๊ตฌ๋Š” ์—ฌ์ „ํžˆ ์œ ํšจํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, Lightning CSS ์ž์ฒด์˜ ์ตœ์ ํ™” ๊ธฐ๋Šฅ์ด ๋”์šฑ ๊ฐ•๋ ฅํ•ด์ง€๋ฏ€๋กœ, ๋ณ„๋„ ์„ค์ • ์—†์ด๋„ ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ์–ด์š”. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ์ข… ๋ฒˆ๋“ค์— ๋ถˆํ•„์š”ํ•œ CSS๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ๋นŒ๋“œ ์„ค์ •์„ ์ž˜ ํ™•์ธํ•ด์•ผ ํ•ด์š”.
  • CSS ๋ ˆ์ด์–ด ํ™œ์šฉ: @layer ๋””๋ ‰ํ‹ฐ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Tailwind์˜ ๋ฒ ์ด์Šค, ์ปดํฌ๋„ŒํŠธ, ์œ ํ‹ธ๋ฆฌํ‹ฐ ์Šคํƒ€์ผ์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋ฉด CSS ์šฐ์„ ์ˆœ์œ„ ๋ฌธ์ œ๋ฅผ ์ค„์ด๊ณ  ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์–ด์š”.
  • ํŒŒ์ผ ๋ถ„ํ•  ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ: ํ•„์š”ํ•œ CSS๋งŒ ๋กœ๋“œํ•˜๋„๋ก CSS ํŒŒ์ผ์„ ๋ถ„ํ• ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ์ปดํฌ๋„ŒํŠธ์— ํ•„์š”ํ•œ ์Šคํƒ€์ผ์„ ์ง€์—ฐ ๋กœ๋”ฉํ•˜๋Š” ์ „๋žต์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”. ์ด๋Š” ์ดˆ๊ธฐ ๋กœ๋”ฉ ์„ฑ๋Šฅ์— ํฐ ๋„์›€์ด ๋ผ์š”.

2๏ธโƒฃ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์ „๋žต

Tailwind CSS๋Š” ๊ฐ•๋ ฅํ•œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, v4์—์„œ๋„ ์ด ์ฒ ํ•™์€ ์œ ์ง€๋  ๊ฑฐ์˜ˆ์š”. ์ƒˆ๋กœ์šด tailwind.config.js ํŒŒ์ผ์—์„œ theme, variants, plugins ๋“ฑ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž์ถฐ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”.

  • theme.extend ํ™œ์šฉ: ๊ธฐ๋ณธ Tailwind ํ…Œ๋งˆ๋ฅผ ํ™•์žฅํ•˜์—ฌ ์ƒ‰์ƒ, ํฐํŠธ, ๊ฐ„๊ฒฉ ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ: @apply๋‚˜ @layer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์Šคํƒ€์ผ ์กฐํ•ฉ์„ ์ƒˆ๋กœ์šด ์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค์–ด์„œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์–ด์š”.
  • ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ: ํ”„๋กœ์ ํŠธ์— ํŠนํ™”๋œ ๊ธฐ๋Šฅ์ด๋‚˜ ๋ณต์žกํ•œ CSS ํŒจํ„ด์ด ์žˆ๋‹ค๋ฉด, ์ง์ ‘ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ฐœ๋ฐœํ•˜์—ฌ Tailwind CSS์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด์—์š”. v4์˜ ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ API๋ฅผ ์ตํžˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ฒ ์ฃ .

๐Ÿ“ ์ •๋ฆฌํ•˜๋ฉฐ

0๏ธโƒฃ ํ•ต์‹ฌ ์š”์•ฝ

์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” Tailwind CSS v4์˜ ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ์ตœ์ ํ™” ์ „๋žต์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด์•˜์–ด์š”.

  • โšก๏ธ Lightning CSS ํ†ตํ•ฉ: Rust ๊ธฐ๋ฐ˜์˜ Lightning CSS ์—”์ง„ ๋„์ž…์œผ๋กœ ์••๋„์ ์ธ ๋นŒ๋“œ ์†๋„ ํ–ฅ์ƒ, ๋ฒˆ๋“ค ํฌ๊ธฐ ๊ฐ์†Œ, ์ž๋™ ๋ฒค๋” ํ”„๋ฆฌํ”ฝ์Šค ์ง€์› ๋“ฑ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ์ด๋ฃจ์–ด์กŒ์–ด์š”.
  • โš™๏ธ ์„ค์ • ๋ฐฉ์‹ ๋ณ€ํ™”: tailwind.config.js๊ฐ€ ESM ๊ธฐ๋ฐ˜์œผ๋กœ ์ „ํ™˜๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ๋”์šฑ ๋ชจ๋˜ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์„ค์ •์ด ๊ฐ€๋Šฅํ•ด์งˆ ๊ฑฐ์˜ˆ์š”.
  • ๐Ÿงฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒํƒœ๊ณ„: ์ƒˆ๋กœ์šด ์—”์ง„์— ๋งž์ถฐ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค๋„ ์—…๋ฐ์ดํŠธ๋  ๊ฒƒ์ด๋ฉฐ, ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ๋”์šฑ ํšจ์œจ์ ์ธ ์ƒํƒœ๊ณ„๊ฐ€ ๊ธฐ๋Œ€๋ผ์š”.
  • ๐Ÿš€ ๊ฐœ๋ฐœ ๊ฒฝํ—˜ ๊ฐœ์„ : ์ „๋ฐ˜์ ์ธ ๋นŒ๋“œ ์„ฑ๋Šฅ๊ณผ ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์ด ํ–ฅ์ƒ๋˜์–ด ์ƒ์‚ฐ์„ฑ์ด ๊ทน๋Œ€ํ™”๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ณ  ์žˆ์–ด์š”.

Tailwind CSS v4๋Š” ๋‹จ์ˆœํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋„˜์–ด, CSS ๊ฐœ๋ฐœ์˜ ๋ฏธ๋ž˜๋ฅผ ์ œ์‹œํ•˜๋Š” ์ค‘์š”ํ•œ ์ „ํ™˜์ ์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์š”. ํŠนํžˆ ์„ฑ๋Šฅ๊ณผ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์„ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ๋Š” ๋งค์šฐ ๋ฐ˜๊ฐ€์šด ์†Œ์‹์ผ ๊ฑฐ์˜ˆ์š”.

1๏ธโƒฃ ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?

์•„์ง v4๊ฐ€ ์•ŒํŒŒ ๋‹จ๊ณ„์ด์ง€๋งŒ, ๋ฏธ๋ฆฌ ๊ทธ ๋ณ€ํ™”๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ค€๋น„ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ด์š”. ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ v4์˜ ๋„์ž…์„ ๊ณ ๋ คํ•ด ๋ณด๊ฑฐ๋‚˜, ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๊ธฐ ์ „์— ์ถฉ๋ถ„ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ๋ณด์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ด์š”.

๊ณต์‹ ๋ฌธ์„œ์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์†Œ์‹์— ๊ท€ ๊ธฐ์šธ์ด๋ฉฐ, Tailwind CSS v4๊ฐ€ ๊ฐ€์ ธ์˜ฌ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ๋งŒ๋ฝํ•ด ๋ณด์‹œ๊ธธ ๋ฐ”๋ผ์š”. ์ € ๋ธ”๋ฃจ๋Š” ๋‹ค์Œ์—๋„ ์‹ค๋ฌด์— ๋„์›€์ด ๋˜๋Š” ์œ ์ตํ•œ ์ •๋ณด๋กœ ์ฐพ์•„์˜ฌ๊ฒŒ์š”!

๐Ÿ“ฎ ์ฐธ๊ณ 

์—ฐ๊ด€๋œ ํฌ์ŠคํŠธ