0Pricing
CSS Academy · 강의

네이티브 CSS 중첩

전처리기 없이 네이티브 CSS 중첩 사양을 사용해 중첩된 CSS 규칙을 작성합니다.

네이티브 CSS 중첩은(는) CoddyKit의 무료 CSS Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CSS Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CSS Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

CSS 중첩이란 무엇인가요?

네이티브 CSS 중첩(2024년 기준 지원 기능, 모든 최신 브라우저에서 지원)을 사용하면 이전에는 Sass나 Less 전처리기에서만 가능했던 중첩 문법으로 CSS 규칙 안에 다른 CSS 규칙을 작성할 수 있습니다. 중첩된 규칙은 부모 선택자의 컨텍스트를 자동으로 상속합니다.

기본 중첩 문법

부모 규칙 블록 안에 자식 선택자를 작성하십시오. 브라우저가 부모 선택자와 자식 선택자를 자동으로 결합합니다. &(중첩 선택자)는 수정자와 의사 클래스를 위해 부모 선택자를 명시적으로 참조합니다.

<div class="card is-active">
  <div class="title">Nested Card Title</div>
  <p>Card body text.</p>
</div>

& 중첩 선택자

&는 중첩된 규칙에서 부모 선택자를 명시적으로 나타냅니다. 의사 클래스(&:hover), 의사 요소(&::before), 수정자 클래스(&.active), 속성 선택자(&[disabled])에 사용하십시오. & 없이 중첩된 규칙을 작성하면 자손 선택자가 만들어집니다.

의사 요소 중첩

부모 요소 안에 의사 요소 규칙을 자연스럽게 중첩할 수 있습니다. .button { &::before { content: ""; } &::after { content: ""; } } 이 방식은 모든 버튼 스타일을 한곳에 배치하므로 평면적인 CSS에서 필요한 선택자 반복을 피할 수 있습니다.

앳 규칙 중첩

미디어 쿼리와 기타 앳 규칙은 규칙 안에 중첩할 수 있습니다(Chrome 112 이상, Firefox 117 이상). .card { padding: 1rem; @media (min-width: 768px) { padding: 2rem; } }처럼 반응형 스타일을 파일 끝의 별도 미디어 쿼리 블록이 아니라 영향을 받는 요소와 함께 배치할 수 있습니다.

선택자 명시도

중첩은 명시도 규칙을 바꾸지 않습니다. 결합된 선택자는 평면적으로 작성했을 때와 동일한 명시도를 가집니다. 중첩으로 작성하든 평면적으로 작성하든 .card .title의 명시도는 동일하게 (0,2,0)입니다. 중첩은 문법을 편리하게 해 줄 뿐 명시도를 바꾸지 않습니다.

암시적 자손 선택자와 명시적 &

&가 없는 중첩 선택자는 자손 선택자를 만듭니다. .card { .title {} }는 .card .title로 변환됩니다. &를 사용하면 .card { &.active {} }가 .card.active로 변환됩니다(공백이 없으므로 자손이 아니라 수정자 클래스입니다).

네이티브 중첩과 BEM

네이티브 중첩은 BEM에 적합하지 않습니다. .block__element과 .block--modifier 선택자는 문자열이며, 중첩만으로는 &를 사용해 이러한 문자열을 만들 수 없습니다. BEM 문자열 연결에는 여전히 전처리기가 필요하므로, 중첩은 의사 클래스와 중첩된 컴포넌트 구조에 사용하십시오.

Sass에서 마이그레이션하기

대부분의 Sass 중첩 문법은 네이티브 CSS 중첩과 동일합니다. 예외적으로 Sass에서는 &-modifier 문자열 연결을 허용하지만 네이티브 CSS에서는 허용하지 않습니다. &- 또는 &__ 패턴을 확인한 뒤 해당 규칙만 평면화하고 나머지 중첩은 유지하여 마이그레이션하십시오.

브라우저 지원

네이티브 CSS 중첩은 Chrome 112 이상, Firefox 117 이상, Safari 16.5 이상에서 지원됩니다. 이전 브라우저까지 지원하려면 빌드 과정에서 PostCSS와 postcss-nesting을 사용해 네이티브 중첩 문법을 평면적인 CSS로 변환하십시오. 그러면 지금 바로 네이티브 중첩으로 작성할 수 있습니다.

DevTools와 중첩

Chrome DevTools는 스타일 패널에서 중첩된 규칙을 중첩된 형태로 보여 줍니다. 중첩된 규칙을 클릭하면 소스 패널의 올바른 소스 위치로 이동합니다. 최신 DevTools에서는 중첩된 CSS도 평면적인 CSS만큼 명확하게 디버깅할 수 있습니다.

지식 확인

& 선택자를 사용한 중첩과 사용하지 않은 중첩은 어떻게 다른가요?

요약

네이티브 CSS 중첩을 사용하면 일반 CSS에서도 Sass와 유사한 중첩 문법을 사용할 수 있습니다. & 선택자는 의사 클래스, 의사 요소, 수정자를 위한 복합 선택자를 만듭니다. 중첩된 @media 쿼리를 사용하면 반응형 스타일을 해당 요소와 함께 배치할 수 있습니다. PostCSS는 이전 브라우저를 위해 네이티브 중첩을 변환하므로 지금부터 점진적으로 도입할 수 있습니다.

자주 묻는 질문

“네이티브 CSS 중첩” 강의는 무료인가요?

네 — “네이티브 CSS 중첩” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CSS Academy 강의 전체를 잠금 해제할 수 있습니다. CSS Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“네이티브 CSS 중첩”에서 뭘 배우나요?

전처리기 없이 네이티브 CSS 중첩 사양을 사용해 중첩된 CSS 규칙을 작성합니다. 브라우저에서 직접 실행하는 실습 코드로 CSS Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

CSS Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 CSS Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“네이티브 CSS 중첩” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 CSS Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 CSS Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 네이티브 CSS 중첩
  2. :has() 관계형 의사 클래스
  3. 범위가 지정된 스타일을 위한 @scope
  4. View Transitions API
← CSS Academy(으)로 돌아가기