๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CSS

CSS / SASS / SCSS

by oranssy 2022. 8. 18.
728x90
๋ฐ˜์‘ํ˜•

โญ๏ธ CSS / SASS / SCSS โญ๏ธ


01. CSS ๋ž€?

CSS (Cascading Style Sheets)๋Š” ๋งˆํฌ์—… ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ HTML ๋ฌธ์„œ๊ฐ€ ์‹ค์ œ๋กœ ์›น์‚ฌ์ดํŠธ์— ํ‘œ์‹œ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •ํ•ด์ฃผ๋Š” ์Šคํƒ€์ผ ์‹œํŠธ ์–ธ์–ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
CSS๋Š” ๋ฌธ์„œ์˜ ๊ฐ ์š”์†Œ๊ฐ€ ํ™”๋ฉด, ์ข…์ด, ์Œ์„ฑ์ด๋‚˜ ๋‹ค๋ฅธ ๋งค์ฒด ์ƒ์— ์–ด๋–ป๊ฒŒ ๋ Œ๋”๋ง๋˜์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

02. SASS / SCSS

SASS ์™€ SCSS ๋Š” CSS ์˜ ๊ธฐ๋Šฅ ๋ถ€์žฌ ๋ฐ ๋‹จ์ ์„ ๋ณด์™„ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ํ™•์žฅํŒ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
SASS ๋Š” ์ค‘์ฒฉ์œผ๋กœ ๋“ค์—ฌ์“ฐ๊ธฐ ๋ฐ ์ค„๋ฐ”๊ฟˆ ํ˜•์‹์ด๊ณ , SCSS ๋Š” ์ค‘๊ด„ํ˜ธ ๋ฐ ์„ธ๋ฏธ์ฝœ๋ก  ํ˜•์‹ ์ž…๋‹ˆ๋‹ค.
SASS ๋ณด๋‹ค SCSS ๊ฐ€ CSS ์™€์˜ ํ˜ธํ™˜์„ฑ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

   ___ ์ฐธ๊ณ ํ•˜๊ธฐ ___
  `1   SASS (Syntactically Awesome Style Sheets)๋Š” '๋ฌธ๋ฒ•์ ์œผ๋กœ ์–ด์ธํ•œ ์Šคํƒ€์ผ์‹œํŠธ'๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.
  `2   SCSS (Sassy CSS)๋Š” '๋ฌธ๋ฒ•์ ์œผ๋กœ ์งฑ ๋ฉ‹์ง„(Sassy) CSS'๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.
  `3   CSS๊ฐ€ ๋ณต์žกํ•œ ์–ธ์–ด๋Š” ์•„๋‹ˆ์ง€๋งŒ, ํ”„๋กœ์ ํŠธ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ณ  ๊ณ ๋„ํ™”๋ ์ˆ˜๋ก ์œ ์ง€๋ณด์ˆ˜์— ํฐ ์–ด๋ ค์›€์ด ์ƒ๊น๋‹ˆ๋‹ค. SASS ์™€ SCSS ๋Š” ์ด๋Ÿฌํ•œ ์ด์Šˆ๋ฅผ ํ•ด์†Œ์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


03. SASS / SCSS ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ

[1] ๋ณ€์ˆ˜(Variable) ํ• ๋‹น

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ‰์ด๋‚˜ ํฐํŠธ ๋“ฑ์„ ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
SASS ๋Š” $ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  $font-stack: Helvetica, sans-serif;
  $primary-color: #555;
  
  body {
    font: 100% $font-stack;
    color: $primary-color;
  }

[2] ์ค‘์ฒฉ(Nesting) ๊ตฌ๋ฌธ

์ค‘์ฒฉ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์‰ฌ์šด ๊ตฌ์„ฑ๊ณผ ๋†’์€ ๊ฐ€๋…์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  nav {
    ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }
  
    li { display: inline-block; }
  
    a {
      display: block;
      padding: 6px 12px;
      text-decoration: none;
    }
  }
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€