CSS 중의 논리적 의사클래스
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
프론트엔드 개발자
- 난이도: 중급 이상 (CSS 선택자 이해 필요)
- 도움: 현대적인 CSS 선택자 활용법을 익히고, 선택자 구조를 단순화하는 기술 습득
핵심 요약
:not(selector)
: 특정 선택자에 해당하지 않는 요소 선택 (예:a:not(.btn)
):is(selector, …)
: 동일한 스타일을 적용할 선택자 병합 (예::is(h1, h2, h3)
):where(selector, …)
: 특이도(pecificity)가 항상 0인 선택자 (예::where(article, section)
):has(selector)
: 특정 자식/손자 요소를 포함한 요소 선택 (예:button:has(svg)
)
섹션별 세부 요약
1. 논리적 의사클래스 개요
:not(selector)
: 특정 조건에 해당하지 않는 요소 선택 (예:textarea:not([rows])
):is(selector, …)
: 중복된 선택자 집합을 단순화 (예:article > :is(p, span)
):where(selector, …)
: 특이도 제거를 위한 선택자 (예::where(h1, h2, h3)
):has(selector)
: 특정 하위 요소를 포함한 요소 선택 (예:label:has(+ [required])
)
2. 추천 의사클래스 및 예시
:not
: 특정 클래스/속성 제외 (예:a:not(.btn)
):is
: 동일한 스타일 적용을 위한 선택자 병합 (예::is(h1, h2, h3)
):where
: 특이도 제거 (예::where(article, section)
):has
: 하위 요소 존재 여부 기반 선택 (예:button:has(svg)
)
결론
- 핵심 팁:
:is
와:where
를 활용해 선택자 중복을 줄이고,:has
로 복잡한 DOM 구조를 효율적으로 선택하세요. - 실무 적용: 현대적인 CSS 선택자 규칙을 준수하여 코드 가독성과 유지보수성을 향상시킬 수 있습니다.