0Pricing
CSS Academy · 강의

:not() :is() 및 :where()

:not()으로 요소를 제외하고, :is()로 목록 중 하나와 일치시키며, :where()로 낮은 특이성을 적용합니다.

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

:not() 의사 클래스

:not(selector)는 지정된 선택자와 일치하지 않는 요소를 선택합니다. 선택을 반전합니다.

<input type="text" placeholder="Text input (styled)" />
<input type="submit" value="Submit (unstyled)" />

:not()에서 여러 인수 사용

최신 CSS에서는 :not() 안에 여러 인수를 사용할 수 있습니다. 나열된 선택자 중 어느 것과도 일치하지 않는 요소를 선택합니다:

<a href="#">Normal link</a> <a href="#" class="active">Active link</a> <a href="#" class="disabled">Disabled link</a>

:not()의 명시도

:not()의 명시도는 가장 명시도가 높은 인수의 명시도와 같습니다. :not(.active)은 클래스 수준의 명시도(0,1,0)를 가집니다.

:is() 의사 클래스

:is()는 선택자 목록 중 하나와 일치하는 모든 요소를 선택합니다. 그룹화를 단순화하고 반복을 줄여 줍니다.

<header><h1>Site Title</h1><h2>Subtitle</h2><h3>Tagline</h3></header>

:is()의 명시도

:is()는 가장 명시도가 높은 인수의 명시도를 사용합니다. 목록에 ID 선택자가 포함되어 있으면 전체 규칙이 ID 명시도를 가집니다.

<div id="header"><h2>Header H2 (crimson via ID)</h2></div>
<div class="card"><h2>Card H2 (crimson via class)</h2></div>

:is()의 유연한 선택자 해석

:is()는 유연한 선택자 해석을 사용합니다. 목록의 선택자 중 하나라도 유효하지 않으면 해당 선택자를 조용히 무시하고 나머지는 계속 적용합니다. 일반적인 쉼표 구분 선택자는 하나라도 유효하지 않으면 전체가 실패합니다.

:where() 의사 클래스

:where()는 :is()와 정확히 같은 방식으로 작동하지만 명시도가 0입니다. 재정의하기 쉬워야 하는 유틸리티 클래스와 초기화 스타일을 위해 설계되었습니다.

<h1>No top margin</h1><h2>No top margin</h2><h3>No top margin</h3>

:where()를 초기화 스타일에 사용하기

:where()는 명시도 경쟁에서 절대 우선권을 가져서는 안 되는 CSS 초기화와 기본 스타일에 적합합니다:

<ul><li>Item A</li><li>Item B</li></ul>
<ol><li>Step 1</li><li>Step 2</li></ol>

명시도 비교

명시도 동작 요약:

  • :is() — 인수 중 가장 높은 명시도
  • :where() — 항상 명시도 0
  • :not() — 인수 중 가장 높은 명시도

:is()와 :not() 연결

정확하고 읽기 쉬운 선택자를 만들기 위해 함께 사용하십시오:

<nav class="nav"><a href="#">Link</a> <button>Button</button> <a href="#" class="disabled">Disabled Link</a></nav>

브라우저 지원

:is()와 :where()는 모든 최신 브라우저에서 지원됩니다. 여러 인수를 사용하는 :not()도 최신 브라우저에서 지원됩니다. IE11 지원이 필요한 프로젝트에서는 사용하지 마십시오.

빠른 확인

인수와 관계없이 명시도가 0인 의사 클래스는 무엇입니까?

복습

:not()은 선택을 반전하며 여러 인수를 받을 수 있습니다. :is()는 목록 중 하나와 일치하고 해당 목록에서 가장 높은 명시도를 사용합니다. :where()도 같은 방식으로 작동하지만 명시도가 0이므로 초기화 스타일에 적합합니다. 세 가지 모두 유연한 선택자 해석을 사용하여 유효하지 않은 선택자를 조용히 무시합니다.

자주 묻는 질문

“:not() :is() 및 :where()” 강의는 무료인가요?

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

“:not() :is() 및 :where()”에서 뭘 배우나요?

:not()으로 요소를 제외하고, :is()로 목록 중 하나와 일치시키며, :where()로 낮은 특이성을 적용합니다. 브라우저에서 직접 실행하는 실습 코드로 CSS Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“:not() :is() 및 :where()” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

  1. :hover :focus :active 및 :visited
  2. :nth-child 및 :nth-of-type
  3. :not() :is() 및 :where()
  4. :checked :disabled 및 폼 상태 의사 클래스
← CSS Academy(으)로 돌아가기