# [[Tailwind vs ์ผ๋ฐ˜ CSS ๋น„๊ต]] ## ๐Ÿ“Œ[[ brief]] Summary [[Tailwind CSS]]๋Š” ๋ฏธ๋ฆฌ ์ •์˜๋œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋ฅผ HTML์— ์ง์ ‘ ์กฐํ•ฉํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ UI๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” '์œ ํ‹ธ๋ฆฌํ‹ฐ ํผ์ŠคํŠธ(Utility-first)' ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๊ฐœ๋ฐœ ์†๋„์™€ ๋””์ž์ธ ์ผ๊ด€์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค [1-3]. ๋ฐ˜๋ฉด, ์ผ๋ฐ˜ CSS(Vanilla CSS ๋ฐ [[SCSS]] ๊ฐ™์€ ์ „์ฒ˜๋ฆฌ๊ธฐ ํฌํ•จ)๋Š” ๋ณ„๋„์˜ ์Šคํƒ€์ผ์‹œํŠธ์— ์ปค์Šคํ…€ ๊ทœ์น™์„ ์ž‘์„ฑํ•˜๋Š” ์ „ํ†ต์  ๋ฐฉ์‹์œผ๋กœ, ํ”ฝ์…€ ๋‹จ์œ„์˜ ์ •๋ฐ€ํ•œ ์ œ์–ด์™€ ๊น”๋”ํ•œ HTML ๋งˆํฌ์—… ์œ ์ง€์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค [4-6]. ๋‘ ๋ฐฉ์‹์€ ๊ฐ๊ฐ HTML์˜ ์žฅํ™ฉํ•จ(Tailwind)๊ณผ ์ „์—ญ ์Šค์ฝ”ํ”„ ์ œ์–ด ๋ฐ ํŒŒ์ผ ํฌ๊ธฐ ์ฆ๊ฐ€(์ผ๋ฐ˜ CSS)๋ผ๋Š” ๋ช…ํ™•ํ•œ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๋ฉฐ, ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ์™€ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์„ ํƒ๋˜๊ฑฐ๋‚˜ ์‹ค๋ฌด์—์„œ ํ˜ผํ•ฉ๋˜์–ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [7-13]. ## ๐Ÿ“– Core Content **1. ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ ์ฒ ํ•™** * **์ผ๋ฐ˜ CSS ๋ฐ SCSS:** ์ „ํ†ต์ ์ธ CSS๋Š” ์ „์—ญ ์„ ํƒ์ž(Global selectors)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, BEM๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ด ์˜๋ฏธ๋ก ์ ์ธ ํด๋ž˜์Šค๋ช…์„ ์ž‘์„ฑํ•˜์—ฌ ์š”์†Œ๋ฅผ ์Šคํƒ€์ผ๋งํ•ฉ๋‹ˆ๋‹ค [14, 15]. SCSS ๋“ฑ์˜ ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜, ์ค‘์ฒฉ(Nesting), ๋ฏน์Šค์ธ ๋“ฑ์„ ํ†ตํ•ด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ณ ๋„๋กœ ์ปค์Šคํ…€ ๊ฐ€๋Šฅํ•œ ์Šคํƒ€์ผ ๋กœ์ง์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4, 16]. * **Tailwind CSS:** ๊ธฐ์กด์˜ '๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ([[Separation of Concerns]])' ์›์น™์„ ๊นจ๊ณ  ๊ธฐ๋Šฅ์ ์ด๊ณ  ๋‹จ์ผ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์ž‘์€ ํด๋ž˜์Šค(์˜ˆ: `flex`, `pt-4`)๋“ค์„ HTML ๋‚ด์— ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํผ์ŠคํŠธ ์ ‘๊ทผ๋ฒ•์„ ์ทจํ•ฉ๋‹ˆ๋‹ค [1, 17, 18]. **2. ์žฅ์  ๋น„๊ต** * **์ผ๋ฐ˜ CSS์˜ ์žฅ์ :** HTML ๋งˆํฌ์—…์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋“ค๋กœ ์ง€์ €๋ถ„ํ•ด์ง€์ง€ ์•Š์•„ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณต์žกํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜, ๊ฐ€์ƒ ์š”์†Œ(Pseudo-elements) ๋“ฑ ๊ณ ์œ ํ•˜๊ณ  ์ •๋ฐ€ํ•œ ์Šคํƒ€์ผ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5, 9, 19]. Vanilla CSS์˜ ๊ฒฝ์šฐ ๋ณ„๋„์˜ ๋นŒ๋“œ ๋‹จ๊ณ„๋‚˜ ์ข…์†์„ฑ์ด ํ•„์š” ์—†๋‹ค๋Š” ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค [15]. * **Tailwind CSS์˜ ์žฅ์ :** ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ๊ณผ ์Šคํƒ€์ผ ํŒŒ์ผ ์‚ฌ์ด๋ฅผ ์˜ค๊ฐ€๋Š” ์ปจํ…์ŠคํŠธ ์ „ํ™˜(Context switching)์ด ์—†์–ด ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœํ† ํƒ€์ดํ•‘ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค [2, 17]. ๋˜ํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์ ธ๋„ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ตœ์ข… CSS ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ๋” ์ด์ƒ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ์ผ์ • ์ˆ˜์ค€์— ๋จธ๋ฌผ๋ฉฐ(Plateaus), ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋Š” ์ œ๊ฑฐ๋˜์–ด ๋ฒˆ๋“ค ํฌ๊ธฐ(์•ฝ 5-20kb)๊ฐ€ ๋งค์šฐ ์ž‘์Šต๋‹ˆ๋‹ค [7, 12, 18]. ๋ฏธ๋ฆฌ ์„ค์ •๋œ ๊ฐ„๊ฒฉ, ์ƒ‰์ƒ ๋“ฑ์˜ ๋””์ž์ธ ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒ€ ๋‚ด ๋””์ž์ธ ์ผ๊ด€์„ฑ์„ ๊ฐ•์ œํ•˜๊ธฐ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค [2, 7]. **3. ๋‹จ์  ๋ฐ ํ•œ๊ณ„** * **์ผ๋ฐ˜ CSS์˜ ๋‹จ์ :** ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „์—ญ(Global) ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ํด๋ž˜์Šค๋ช… ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค([[CSS Modules]] ๋“ฑ์œผ๋กœ ๋ณด์™„ ๊ฐ€๋Šฅ) [9, 15]. ๋˜ํ•œ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก CSS ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋Š˜์–ด๋‚˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ [12], ์ฒ˜์Œ๋ถ€ํ„ฐ ์Šคํƒ€์ผ์„ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋А๋ฆฝ๋‹ˆ๋‹ค [11]. * **Tailwind CSS์˜ ๋‹จ์ :** HTML ์š”์†Œ์— ์ˆ˜๋งŽ์€ ํด๋ž˜์Šค๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด์„œ ์ฝ”๋“œ๊ฐ€ ๋งค์šฐ ์žฅํ™ฉํ•ด์ง€๊ณ (Verbose) ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค [5, 7, 19, 20]. ๋…ํŠนํ•œ ๋งž์ถคํ˜• ๋””์ž์ธ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ ์„ค์ •์„ ์˜ค๋ฒ„๋ผ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์œผ๋ฉฐ, ์ˆ˜๋งŽ์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋ฅผ ์ตํžˆ๊ธฐ ์œ„ํ•œ ํ•™์Šต ๊ณก์„ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [8, 21]. ๋˜ํ•œ UI๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•  ๋•Œ ํด๋ž˜์Šค๊ฐ€ ์ถ”์ƒํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐพ์•„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [12]. **4. ์‹ค๋ฌด ์ ์šฉ ๋ฐ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ „๋žต** * 2025~2026๋…„์˜ ์‹ค๋ฌด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ํ”„๋กœ์ ํŠธ ํŠน์„ฑ์— ๋งž์ถฐ ๋‘ ์ ‘๊ทผ๋ฒ•์„ ํ˜ผํ•ฉ(Hybrid)ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ ˆ์ด์•„์›ƒ๊ณผ ๊ฐ„๊ฒฉ ๋“ฑ ์ผ๊ด€์„ฑ๊ณผ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์—๋Š” Tailwind๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋ณต์žกํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋‚˜ ์„ธ๋ฐ€ํ•œ ์„ ํƒ์ž ์ œ์–ด๊ฐ€ ํ•„์š”ํ•œ ๊ฐœ๋ณ„ ์ปดํฌ๋„ŒํŠธ์—๋Š” SCSS๋‚˜ CSS Modules๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ „๋žต์ด ์ฑ„ํƒ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [11, 13, 22]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[CSS ๊ตฌ์กฐ ์„ค๊ณ„ ๋ฐฉ์‹]], [[๋””์ž์ธ ์‹œ์Šคํ…œ ๊ฐœ๋…]] - **Projects/Contexts:** ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ๋ฐ React ์ƒํƒœ๊ณ„์—์„œ์˜ ์Šคํƒ€์ผ๋ง ์ „๋žต - **Contradictions/Notes:** Tailwind CSS๋Š” ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ๊ณผ CSS ์šฉ๋Ÿ‰ ์ตœ์ ํ™” ์ธก๋ฉด์—์„œ ํ›Œ๋ฅญํ•˜์ง€๋งŒ, ์ผ๊ฐ์—์„œ๋Š” ๊ณผ๊ฑฐ์˜ '์ธ๋ผ์ธ ์Šคํƒ€์ผ(Inline styles)'๋กœ ํšŒ๊ท€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์œผ๋ฉฐ HTML์„ ๊ฐ€์žฅ ๋ชป์ƒ๊ธฐ๊ฒŒ(Ugliest possible code) ๋งŒ๋“ ๋‹ค๋Š” ๊ฐ•ํ•œ ๊ฑฐ๋ถ€๊ฐ๊ณผ ๋…ผ์Ÿ์ด ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์— ์ง€์†์ ์œผ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [21, 23-25]. --- *Last updated: 2026-04-26*