λ„€μŠ€νŒ…

λ„€μŠ€νŒ…

μœ ν˜•
μ°Έμ‘°λ¬Έμ„œ
주제

Modules

순번
1
νƒœκ·Έ
μ„€λͺ…

πŸ”—MDN Web Docs CSS nesting - CSS: Cascading Style Sheets | MDNMDN Web Docs CSS nesting - CSS: Cascading Style Sheets | MDN

CSSμ—μ„œλ„ scss 처럼 μ€‘μ²©μ„ νƒμžλ₯Ό μ‚¬μš©ν• μˆ˜ μžˆλ‹€.

&

2023년도에 μΆ”κ°€ λ˜μ—ˆμœΌλ©° μ‚¬μš©λ°©λ²•μ€ scss와 κ°™λ‹€

λ‹€λ₯Έμ μ΄ μžˆλ‹€λ©΄ μ „μ²˜λ¦¬κΈ°μ˜ μ‚¬μš©μ—†μ΄ λΈŒλΌμš°μ €μ—μ„œ λ°”λ‘œ 해석이 κ°€λŠ₯ν•˜λ―€λ‘œ λ”μš± νŽΈλ¦¬ν•˜λ‹€λŠ” 점이닀.

parentRule {
  /* λΆ€λͺ¨ κ·œμΉ™ μŠ€νƒ€μΌ 속성 */
  & childRule {
    /* μžμ‹ κ·œμΉ™ μŠ€νƒ€μΌ 속성 */
  }
}

μœ„μ™€ 같이 μž‘μ„±ν•˜λ©΄ & 은 parentRule λ¬Έμžμ—΄μ„ κ·ΈλŒ€λ‘œ λ°›μ•„μ˜¨λ‹€

.card {
  /* .card μŠ€νƒ€μΌ */
  .featured & {
    /* .featured .card μŠ€νƒ€μΌ */
  }
}

/* λΈŒλΌμš°μ €λŠ” μœ„ 쀑첩 κ·œμΉ™μ„ λ‹€μŒκ³Ό 같이 νŒŒμ‹±ν•©λ‹ˆλ‹€. */

.card {
  /* .card μŠ€νƒ€μΌ */
}

.featured .card {
  /* .featured .card μŠ€νƒ€μΌ */
}

μœ„μ™€ 같이 μ˜€λ Œμ§€μƒ‰μœΌλ‘œ ν‘œμ‹œλœ 것과 같이 μ‚¬μš©ν• μˆ˜λ„ μžˆλ‹€.

.card {
  /* .card μŠ€νƒ€μΌ */
  .featured & & & {
    /* .featured .card .card .card μŠ€νƒ€μΌ */
  }
}

μ—¬λŸ¬λ²ˆ μ‚¬μš©κ°€λŠ₯

html

<p class="example">
  이 문단은 <a href="#">링크</a>λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. ν˜Έλ²„ν•˜κ±°λ‚˜ 포컀슀λ₯Ό λ§žμΆ°λ³΄μ„Έμš”.
</p>

css

.example {
  font-family: system-ui;
  font-size: 1.2rem;
}

.example > a {
  color: tomato;
}

.example > a:hover,
.example > a:focus {
  color: ivory;
  background-color: tomato;
}
image

μœ„μ˜ μ½”λ“œλ₯Ό μ•„λž˜μ²˜λŸΌ μˆ˜μ •ν• μˆ˜ μžˆλ‹€.

.example {
  font-family: system-ui;
  font-size: 1.2rem;

  & > a {
    color: tomato;
    &:hover,
    &:focus {
      color: ivory;
      background-color: tomato;
    }
  }
}

이 μ½”λ“œλŠ” μ›ΉλΈŒλΌμš°μ €μ—μ„œ λ°”λ‘œ 해석이 λœλ‹€

쑰금 있으면 scss의 map κ³Ό for 도 λ‚˜μ˜€κ² μ§€?

μ‹ λ‚œλ‹€ μž¬λ―Έλ‚œλ‹€ 🫣