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

728x90

*์„ธํŒ… : Live Sass compile ์„ค์น˜

 

SASS (Syntactically Awesome Style Sheets)

CSS๋‚ด ๋ฐ˜๋ณต๋˜๋Š” ๋‚ด์šฉ์€ ์ค„์ด๊ณ  ์ž‘์—…ํ•  ๋•Œ, ์œ ์ง€๋ณด์ˆ˜ ํ• ๋•Œ ํšจ์œจ์ ์œผ๋กœ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‹œํŠธ

 

  • ๋ณ€์ˆ˜ ๋ฌธ๋ฒ• : ์ž์ฃผ ์“ฐ์ง€๋งŒ ๊ธฐ์–ตํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฐ’๋“ค์„ ์ €์žฅํ•ด์„œ ์“ฐ๊ธฐ์œ„ํ•œ ๋ฌธ๋ฒ•
$์„œ๋ธŒ์ƒ‰์ƒ : #333333;

.text {
  color: $๋ฉ”์ธ์ƒ‰์ƒ
}
  • Nesting : ์ค‘๊ด„ํ˜ธ ์•ˆ์— ๋˜ ์…€๋ ‰ํ„ฐ๋ฅผ ์“ฐ๋Š” ๋ฌธ๋ฒ•
.navbar {
  ul {
    width : 100%;
  }
  
  .navbar {
  :hover {
    color : blue;
  }
}

.navbar {
  &:hover {
    color : blue;
  }
}
  • @extend : ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์†์„ฑ๋“ค์„ ๋ณต๋ถ™ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉ
.btn {
  font-size : 16px;
  padding : 10px;
  background : grey;
}

.btn-green {
  @extend .btn;
  background : green;
}
  • @mixin(์ž์ฃผ์‚ฌ์šฉ) : ๋ณ€์ˆ˜๋ฌธ๋ฒ•์—์„œ ์Šคํƒ€์ผ์„ ์—ฌ๋Ÿฌ์ค„์„ ์ €์žฅํ•ด์„œ ์‚ฌ์šฉ ํ• ์ˆ˜ ์žˆ๋‹ค.
@mixin ๋ฒ„ํŠผ๊ธฐ๋ณธ๋””์ž์ธ() {
  font-size : 16px;
  padding : 10px;
}

.btn-green {
  @include ๋ฒ„ํŠผ๊ธฐ๋ณธ๋””์ž์ธ(); //@inclued + ํ•จ์ˆ˜ ์ด๋ฆ„ 
  background : green;
}

@mixin ๋ฒ„ํŠผ๊ธฐ๋ณธ๋””์ž์ธ($๊ตฌ๋ฉ) { //ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ๊ฐ€๋Šฅ
  font-size : 16px;
  padding : 10px;
  background : $๊ตฌ๋ฉ;
}
  • @use์™€ ์–ธ๋”๋ฐ” ํŒŒ์ผ
@use 'reset.scss'; //import๋ž‘ ๋น„์Šท 

@use '_reset.scss'; //์•ˆ์“ฐ๋Š” scss ์–ธ๋”๋ฐ” ๋ถ™์น˜๋ฉด ์ปดํŒŒ์ผ x

reset.$๋ณ€์ˆ˜๋ช…;  /* ๋‹ค๋ฅธ ํŒŒ์ผ์˜ ๋ณ€์ˆ˜์“ฐ๋Š”๋ฒ• */
@include reset.mixin์ด๋ฆ„();  /* ๋‹ค๋ฅธ ํŒŒ์ผ์˜ mixin์“ฐ๋Š”๋ฒ• */
728x90

'๐Ÿ“Frontend > ๐Ÿ“•CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Styled Components] ์„ธํŒ…  (0) 2022.08.07
[CSS] @keyframes(ing)  (0) 2022.08.04
[CSS] ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ  (0) 2022.08.03
[CSS] OG, Favicon  (0) 2022.08.03
[CSS] Flexbox  (0) 2022.08.03
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
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
๊ธ€ ๋ณด๊ด€ํ•จ