๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๊ฐœ๋ฐœ] Practice/HTML CSS

[HTML/CSS] SCSS ๋กœ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ

by Connecting-the-dots 2022. 3. 1.
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ก ์‹ค์Šต ํฌ์ธํŠธ!

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

๐Ÿ’œ VSCode ์…‹ํŒ…

  • ๋‚˜๋Š” VSCode ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด ํ”„๋กœ๊ทธ๋žจ์—์„œ SCSS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Live Sass Compiler ๋ผ๋Š” ํ™•์žฅํ”„๋กœ๊ทธ๋žจ(extension)์„ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค. ๋ฒ„์ „์€ ๊ผญ 5.0.0 ์ด์ƒ์œผ๋กœ ์„ค์น˜ํ•ด์ฃผ์ž!


  • ๊ทธ๋Ÿผ VSCode ํ•˜๋‹จ์— Watch Sass ๋ฒ„ํŠผ์ด ์ƒ๊ธฐ๋Š”๋ฐ ์ด๊ฒƒ์„ ๋ˆ„๋ฅด๋ฉด ์ž‘์„ฑํ•œ SCSS ํŒŒ์ผ์ด CSS ํŒŒ์ผ๋กœ ๋ณ€ํ™˜์ด ๋จ

๐Ÿ’œ ๋ฆฌ์ŠคํŠธ ๋ ˆ์ด์•„์›ƒ

๐Ÿ’œ HTML

    <ul class="sh-list">
        <li class="active">๋ฆฌ์ŠคํŠธ1</li>
        <li>๋ฆฌ์ŠคํŠธ2</li>
        <li>๋ฆฌ์ŠคํŠธ3</li>
    </ul>

๐Ÿ’œ SCSS : ์ค‘๊ด„ํ˜ธ ๋ฐ ์„ธ๋ฏธ์ฝœ๋ก  ์‚ฌ์šฉ

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.sh-list {
  width: 90%;
  margin: auto;
  margin-top: 30px;

  li {
    list-style: none;
    padding: 15px;
    border: 1px solid #eee;

    &:hover {
      cursor: pointer;
    }
  }

  .active {
    background: skyblue;
    color: white;
  }
}

 

  • Nesting ๋ฌธ๋ฒ•: ์…€๋ ‰ํ„ฐ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ๋ณต์žกํ•ด์ง€๋ฏ€๋กœ ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์…€๋ ‰ํ„ฐ ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์…€๋ ‰ํ„ฐ๋ฅผ ์“ฐ๋Š” Nesting ๋ฌธ๋ฒ•์ด ์กด์žฌ
/*CSS ๋ฌธ๋ฒ•*/
.navbar ul {
  width : 100%;
}

.navbar li {
  color : black;
}


/*SASS ๋ฌธ๋ฒ•*/
.navbar {
  ul {
    width : 100%;
  }
  li {
    color : black;
  }
}

 

728x90
๋ฐ˜์‘ํ˜•