๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HTML5 & CSS3/Sass, Scss

Sass ๋ž€?

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 11. 9.
๋ฐ˜์‘ํ˜•

๐Ÿช€ Sass

Syntactically Awesome Stylesheets์˜ ์•ฝ์ž.

์Šคํƒ€์ผ์‹œํŠธ ์–ธ์–ด.
CSS์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ CSS์˜ ํ™•์žฅ์œผ๋กœ ๋‚˜์˜จ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด.

 

  • CSS์˜ ์ „์ฒ˜๋ฆฌ๊ธฐ, ์ฆ‰ CSS๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ด๋‹ค.CSS ๐Ÿ‘‰๐Ÿป Sass ์ปดํŒŒ์ผ๋Ÿฌ ๐Ÿ‘‰๐Ÿป SCSS
  • ํ•ด์„๋˜์–ด CSS๋กœ ์ปดํŒŒ์ผ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด๋‹ค.
  • ํ”„๋กœ์ ํŠธ๊ฐ€ ์ ์  ์ปค์ง€๊ณ  ๋ณต์žกํ•ด์ง€๋ฉด ์Šคํƒ€์ผ์‹œํŠธ๋„ ๋ฉ๋‹ฌ์•„ ์ปค์ง€๊ณ  ๊ด€๋ฆฌํ• ๊ฒŒ ๋งŽ์•„์ง€๋ฉฐ ๋ณต์žกํ•ด์ง„๋‹ค. ์ด์— ๋”ฐ๋ผ ์œ ์ง€๋ณด์ˆ˜๋„ ํž˜๋“ค์–ด์ง„๋‹ค. Sass๋Š” CSS์˜ ๋ณต์žกํ•œ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ , ์ฝ”๋“œ์˜ ์žฌํ™œ์šฉ์„ฑ๊ณผ ๊ฐ€๋…์„ฑ์„ ํ†ตํ•ด ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๋†’์—ฌ์ฃผ๋Š” ์–ธ์–ด์ด์ž ๋„๊ตฌ์ด๋‹ค.
  • variable, nesting, mixin, inheritance ๋“ฑ์˜ ๊ฐœ๋…์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์ด Sass์ด๋‹ค.
  • Sass ๊ณต์‹ ๊ตฌํ˜„์ฒด๋Š” ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ Ruby๋กœ ์ฝ”๋”ฉ๋˜์–ด ์žˆ๋‹ค.



๐Ÿช€ Sass์˜ ํŠน์ง•

 

โ›ณ๏ธ Compile

Sass๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” compile ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
์—ฌ๊ธฐ์„œ์˜ compile์ด๋ž€ SCSS๋กœ ์ž‘์„ฑ๋œ ํŒŒ์ผ์„ CSS๋กœ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค.

 

โ›ณ๏ธ SassScript๋Š” 4๊ฐ€์ง€ ์ž๋ฃŒํ˜•์„ ์ง€์›ํ•œ๋‹ค.

  • ์ˆ˜(int)
  • ๋ฌธ์ž์—ด(String)
  • color
  • boolean
  •  

โ›ณ๏ธ Sass ํ•ต์‹ฌ ์›์น™

Sass๋Š” ๊ธฐ์กด CSS๋ณด๋‹ค ๋” ๋ณต์žกํ•ด์ ธ์„  ์•ˆ ๋จ์„ ์›์น™์œผ๋กœ ํ•œ๋‹ค.

 

โ›ณ๏ธ ์ƒ‰ ํ‘œํ˜„

Sass์—์„œ ์ƒ‰์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • CSS ์ƒ‰ ํ‚ค์›Œ๋“œ
  • HSL ํ‘œ๊ธฐ๋ฒ•
  • RGB ํ‘œ๊ธฐ๋ฒ•
  • 16์ง„๋ฒ• ํ‘œ๊ธฐ๋ฒ•
  •  

โ›ณ๏ธ ๊ตฌ๋ฌธ๊ณผ ๋ฌธ๋ฒ•

  • ์ฃผ์„
    ํ•œ ์ค„ ์ฃผ์„(//)์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.
    ํ•œ ์ค„ ์ฃผ์„์€ // ๋กœ ํ‘œ๊ธฐํ•˜๋ฉฐ, CSS๋กœ ์ปดํŒŒ์ผ ๋˜์—ˆ์„ ๋•Œ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„์€ CSS์™€ ๋™์ผํ•˜๋ฉฐ CSS๋กœ ์ปดํŒŒ์ผ ๋˜์—ˆ์„ ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค.
  • Nesting
    ์„ ํƒ์ž๋ฅผ ๋‚ดํฌํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. '์„ ํƒ์ž๋ฅผ ๋‚ดํฌํ•จ'์€ ํ•ด๋‹น ์„ ํƒ์ž์˜ Style Sheets๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, ๋‹ค๋ฅธ ์„ ํƒ์ž๋ฅผ ๋‚ดํฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ณ€์ˆ˜
    Sass๋Š” ๋ณ€์ˆ˜๋ฅผ $๋ฅผ ์จ์„œ ํ‘œํ˜„ํ•œ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ณณ์— ๋™์ผํ•œ ๊ฐ’์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋ณ€๊ฒฝํ•  ๋•Œ ์ผ์ผ์ด ์ˆ˜์ •ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
    Sass ๋ณ€์ˆ˜์—๋Š” ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค.
  • ๋ฌธ๋ฒ•
    Sass ๋ฌธ๋ฒ•์—๋Š” ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ๊ธฐ์กด์˜ Sass ๋ฌธ๋ฒ•๊ณผ ์ƒˆ๋กœ์šด ๋ฌธ๋ฒ•์ธ SCSS ๋ฌธ๋ฒ•์ด๋‹ค. ๋ณดํ†ต ๋‘ ์ข…๋ฅ˜๋ฅผ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
    ์ฐธ๊ณ ๋กœ Sass ๋ฌธ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•œ ํŒŒ์ผ์€ .sass ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง€๊ณ , SCSS ๋ฌธ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•œ ํŒŒ์ผ์€ .scss ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด ๋‘ ํŒŒ์ผ์„ ์„œ๋กœ convert ํ•˜๋ ค๋ฉด sass-convert๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€