>  기사  >  웹 프론트엔드  >  CSS에 하위 그룹화 기능이 없는 이유는 무엇입니까?

CSS에 하위 그룹화 기능이 없는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-31 15:13:01215검색

Why Doesn't CSS Have Descendant Grouping Functionality?

CSS 선택기에 하위 그룹화 기능이 부족한 이유

CSS에서 중첩된 요소 그룹에 스타일을 할당하는 것은 번거로울 수 있습니다. 모든 열 제목과 셀의 스타일을 지정하려는 HTML 테이블을 생각해 보세요. 다음 선택기를 사용해야 합니다.

<code class="css">#myTable th, #myTable td {}</code>

다음과 같은 구문을 사용하는 것이 논리적인 것처럼 보입니다.

<code class="css">#myTable (th, td) {}</code>

Historical Context

그러나 , 이러한 구문은 2008년까지 :any() 의사 클래스 형식으로 제안되지 않았기 때문에 존재하지 않습니다.

초기 브라우저 구현

Mozilla는 2010년에 처음으로 :-moz-any()를 구현했습니다.

<code class="css">#myTable :-moz-any(th, td) {}</code>

WebKit은 :-webkit-any():

<code class="css">#myTable :-webkit-any(th, td) {}</code>

와 유사한 접근 방식을 제안했습니다. 그러나 다음을 사용하여 두 접두사 모두 규칙 세트를 복제해야 하므로 코드가 중복됩니다.

최신 제안

선택기 레벨 4 초안에는 :matches():

<code class="css">#myTable :matches(th, td) {}</code>
이 제안은 아직 개발 중이므로 브라우저 지원이 제한됩니다.

테이블 스타일링 해결 방법

테이블의 경우 범용 선택기 *를 사용하여 th 및 th를 모두 타겟팅할 수 있습니다. td 요소:

<code class="css">#myTable tr > * {}</code>
성능 향상을 위해 더 긴 형식을 선호할 수도 있습니다.

위 내용은 CSS에 하위 그룹화 기능이 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.