> 웹 프론트엔드 > CSS 튜토리얼 > :where()를 사용하여 복잡한 선택자에게 작별을 고하세요.

:where()를 사용하여 복잡한 선택자에게 작별을 고하세요.

Linda Hamilton
풀어 주다: 2024-12-31 03:35:09
원래의
910명이 탐색했습니다.

Say Goodbye to Complex Selectors with :where()

:어디()란 무엇인가요?

:where()를 CSS 도구 상자의 강력한 도구로 생각하면 여러 선택기를 하나의 간결한 표현식으로 그룹화할 수 있습니다. 이는 특정성 충돌에 대한 걱정 없이 지정된 선택기와 일치하는 요소에 스타일을 적용하는 데 특히 유용합니다.

기본 구문:

element:where(selector1, selector2, ...) {
  /* Styles to be applied */
}
로그인 후 복사

예:
모든

클래스 하이라이트 또는 클래스 중요 요소가 있는 요소입니다. 다음과 같이 :where()를 사용할 수 있습니다.

p:where(.highlight, .important) {
  font-weight: bold;
  color: red;
}
로그인 후 복사

왜 :where()를 사용하나요?

  1. 가독성 향상:
    • CSS를 더욱 간결하고 이해하기 쉽게 만듭니다.
  2. 특이성 관리:
    • :where()의 구체성이 0이므로 스타일을 더 쉽게 재정의하는 데 도움이 됩니다.
  3. 향상된 유지 관리성:
    • 선택기를 그룹화하면 CSS를 더욱 모듈화하고 유지 관리하기 쉽게 만들 수 있습니다.

실제 사례:
탐색 모음이 있는 웹사이트가 있다고 상상해 보세요. 활성 탐색 링크의 스타일을 다르게 지정하려고 합니다. :where()를 사용하여 :hover 및 :active 상태를 모두 대상으로 지정할 수 있습니다.

nav a:where(:hover, :active) {
  background-color: #f0f0f0;
  color: #333;
}
로그인 후 복사

결론:
:where()를 이해하고 효과적으로 사용하면 보다 효율적이고 유지 관리가 용이하며 우아한 CSS 코드를 작성할 수 있습니다. 이는 모든 웹 개발자의 무기고를 위한 귀중한 도구입니다.

복잡한 선택기에 :where() 활용

:where()는 간단한 선택기 그룹화에 적합하지만 복잡한 선택기와 함께 사용하면 더욱 강력해집니다.

예: 특정 표 셀 스타일 지정
내용과 위치에 따라 특정 테이블 셀의 스타일을 지정한다고 가정해 보겠습니다. :where()를 사용하여 여러 선택기를 결합할 수 있습니다:

table td:where(
  :nth-child(2),
  :contains("Important")
) {
  background-color: yellow;
  font-weight: bold;
}
로그인 후 복사

이 코드는 각 표 셀의 두 번째 하위 항목과 "중요"라는 단어가 포함된 모든 셀의 스타일을 지정합니다.

:where()를 다른 의사 클래스와 결합

:where()를 다른 의사 클래스와 결합하여 더욱 구체적인 선택기를 만들 수도 있습니다.

a:where(:hover, :focus) {
  text-decoration: underline;
  color: blue;
}
로그인 후 복사

이 코드는 앵커 링크의 :hover 및 :focus 상태 모두에 스타일을 지정합니다.

사용 모범 사례 :where()

  1. 신중하게 사용하세요. :where()를 과도하게 사용하지 마세요. CSS를 읽고 유지 관리하기가 더 복잡해질 수 있습니다.
  2. 특정성 우선순위 지정: :where()의 특이성은 0이지만 CSS를 작성할 때 특이성을 고려하는 것은 여전히 ​​중요합니다.
  3. 철저한 테스트: 호환성을 보장하기 위해 항상 다른 브라우저에서 CSS를 테스트하세요.

결론:
:where() 의사 클래스는 최신 CSS를 위한 유용한 도구입니다. 사용법을 익히면 더욱 효율적이고 유지 관리가 용이하며 우아한 CSS 코드를 작성할 수 있습니다.

위 내용은 :where()를 사용하여 복잡한 선택자에게 작별을 고하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿