ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ’ฌ ๊ฐœ์š”

์ฒ˜์Œ์—๋Š” CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ํ–ˆ๋Š”๋ฐ,

๊ฐ„๋‹จํ•œ ๋ ˆ์ด์•„์›ƒ์—์„œ๋Š” ๊ดœ์ฐฎ์•˜์ง€๋งŒ ํ™”๋ฉด์ด ๋ณต์žกํ•˜๊ณ  ๋งŽ์•„์ง€๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์ง€๋งŒ ํ•œ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์–ด๋ ค์› ๊ณ  ๋‚˜์ค‘์—๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์ด ๊ฒน์น˜๊ธฐ๋„ ํ•˜์˜€๋‹ค.

์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด SCSS๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

๐Ÿ“Œ SASS ( Syntactically Awesome StyleSheet )

์ฝ”๋“œ์˜ ์žฌํ™œ์šฉ์„ฑ์„ ์˜ฌ๋ฆฌ๊ณ , ๊ฐ€๋…์„ฑ์„ ์˜ฌ๋ฆฌ๋Š” ๋“ฑ CSS์—์„œ ๋ณด์ด๋˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ ,

๊ฐœ๋ฐœ์˜ ํšจ์œจ์„ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•œ CSS ์ „์ฒ˜๋ฆฌ๊ธฐ ์–ธ์–ด

โœ”๏ธ CSS๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋˜ํ•œ ์žˆ๋Š” ํ™•์žฅํŒ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด )

๐Ÿ‘‰ CSS ์ „์ฒ˜๋ฆฌ๊ธฐ(Preprocessor) ์–ธ์–ด
Less, Sass(SCSS), Stylus ๊ฐ™์€ ์ „์ฒ˜๋ฆฌ๊ธฐ ์–ธ์–ด๋Š” ์ง์ ‘ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค.
์ „์ฒ˜๋ฆฌ๊ธฐ ์–ธ์–ด๋Š” CSS ๋ฌธ๋ฒ•๊ณผ ๊ต‰์žฅํžˆ ์œ ์‚ฌํ•˜์ง€๋งŒ ์„ ํƒ์ž์˜ ์ค‘์ฒฉ(Nesting)์ด๋‚˜ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ๋‹ค์–‘ํ•œ ๋‹จ์œ„(Unit)์˜ ์—ฐ์‚ฐ ๋“ฑ… ํ‘œ์ค€ CSS ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ฝ”๋“œ ์ž‘์„ฑ์— ๋“œ๋Š” ์‹œ๊ฐ„์„ ์ค„์—ฌ์ฃผ๊ณ , ์ฝ”๋“œ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ๋„์›€์ด ๋œ๋‹ค.

์›น์€ CSS๋ฐ–์— ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒ˜๋ฆฌ๊ธฐ ์–ธ์–ด ๋ฌธ๋ฒ•์œผ๋กœ ์ฝ”๋”ฉํ•˜๊ณ , CSS๋กœ ์ปดํŒŒ์ผํ•ด์„œ ์›น์œผ๋กœ ๋™์ž‘์‹œํ‚จ๋‹ค.

โ–ถ Sass๋Š” CSS์˜ ํ™•์žฅ ์ „์ฒ˜๋ฆฌ๊ธฐ ์–ธ์–ด์ด๊ณ , CSS ์ฝ”๋“œ ์ƒ์‚ฐ์„ ์œ„ํ•œ ์ผ์ข…์˜ ๋„๊ตฌ์ธ ์…ˆ

 

๐Ÿ“Œ Sass VS SCSS 

SCSS : Sass์˜ 3๋ฒ„์ „์—์„œ ๋“ฑ์žฅํ•œ ์–ธ์–ด๋กœ, CSS ๊ตฌ๋ฌธ๊ณผ ์™„์ „ํžˆ ํ˜ธํ™˜๋˜๋„๋ก ์ƒˆ๋กœ์šด ๊ตฌ๋ฌธ์„ ๋„์ž…ํ•ด ๋งŒ๋“  Sass์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” CSS์˜ ์ƒ์œ„์ง‘ํ•ฉ(Superset)

โœ”๏ธ CSS๋Š” CSS์™€ ๊ฑฐ์˜ ๊ฐ™์€ ๋ฌธ๋ฒ•์œผ๋กœ Sass ๊ธฐ๋Šฅ์„ ์ง€์›

 

1๏ธโƒฃ ํ™•์žฅ์ž

*.sass / *.scss  

 

2๏ธโƒฃ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

โ–ถ SASS : ๋“ค์—ฌ ์“ฐ๊ธฐ + ์ค„ ๋ฐ”๊ฟˆ

โ–ถ SCSS : ์ค‘๊ด„ํ˜ธ + ์„ธ๋ฏธ์ฝœ๋ก 

 

3๏ธโƒฃ ๋‹จ์ 

์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ์†Œ์š” ๋˜๋ฏ€๋กœ

์ž‘์€ ํ”„๋กœ์ ํŠธ๋Š” css , ํฐ ํ”„๋กœ์ ํŠธ๋Š” scss๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๋“ฏ ํ•˜๋‹ค.

 

๐Ÿ“Œ SCSS ๊ธฐ๋ณธ ๋ฌธ๋ฒ•/๊ธฐ๋Šฅ

1๏ธโƒฃ ๋ณ€์ˆ˜(Variable) ํ• ๋‹น

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’๋“ค์„ ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•ด์„œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

2๏ธโƒฃ ์ค‘์ฒฉ(Nesting) ๊ตฌ๋ฌธ

์ค‘์ฒฉ๊ธฐ๋Šฅ์„ ํ†ตํ•œ ์‰ฌ์šด ๊ตฌ์„ฑ , ๋†’์€ ๊ฐ€๋…์„ฑ

& (์ƒ์œ„ ์„ ํƒ์ž ์ฐธ์กฐ)

 

3๏ธโƒฃ ๋ชจ๋“ˆํ™” (Modularity)

@use๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๋ถ„ํ• ํ•˜๊ณ  ๋ชจ๋“ˆํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

as ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฆ„์„ ์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

4๏ธโƒฃ ๋ฏน์Šค์ธ (Mixins)

ํ•จ์ˆ˜์ฒ˜๋Ÿผ defalut parameter๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ  parameter๋ฅผ ๋ฐ›์•„์„œ ์†์„ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. (์žฌ์‚ฌ์šฉ์„ฑ)

 

5๏ธโƒฃ ํ™•์žฅ&์ƒ์† (Extend/Inheritance)

์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ณ , ํ†ตํ•ฉ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ„ํŽธํ•ด์ง„๋‹ค.

%๋Š” ์•„๋ฌด ์…€๋ ‰ํ„ฐ์— ํฌํ•จ๋˜์ง€ ์•Š์ง€๋งŒ ๊ทธ ๋„๋ฉด์ด ํ•„์š”ํ• ๋•Œ @extend ๋กœ ๋„๋ฉด์„ ์ƒ์†์‹œํ‚จ๋‹ค.

6๏ธโƒฃ ์—ฐ์‚ฐ์ž (Operators)

css์˜ ๊ฒฝ์šฐ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” calc ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

scss๋Š” ๋ฐ”๋กœ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ“ข ์ฃผ์˜ : ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์€ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

๐Ÿ’ฌ ๋งˆ์น˜๋ฉฐ 

์ฒซ ๋ฒˆ์งธ vue ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ css๋กœ๋งŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์—ˆ๋‹ค.
ํ•˜์ง€๋งŒ ํ™”๋ฉด์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ํด๋ž˜์Šค ์ด๋ฆ„ ์ง“๋Š” ๊ฒƒ๋„ ์–ด๋ ค์›Œ์ง€๊ณ , ์ค‘๋ณต๋˜๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์ด ์ƒ๊ธฐ๋ฉด์„œ ์–ด๋ ค์›€์„ ๋งŽ์ด ๊ฒช์—ˆ๋‹ค.
ํ˜„์žฌ๋Š” scss๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์ค‘์ธ๋ฐ ํ›จ์”ฌ ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค.
์•„์ง์€ ์ค‘์ฒฉ ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉํ•ด๋ณด์•˜์ง€๋งŒ, ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋” ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ