> 웹 프론트엔드 > CSS 튜토리얼 > `:last-child`가 항상 특정 유형의 마지막 요소를 선택하지 않는 이유는 무엇입니까?

`:last-child`가 항상 특정 유형의 마지막 요소를 선택하지 않는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-10 01:37:13
원래의
942명이 탐색했습니다.

Why Doesn't `:last-child` Always Select the Last Element of a Specific Type?

:last-child가 예상대로 작동하지 않음: 뉘앙스 이해>

CSS에서 :last-child 선택기는 다음을 수행하기 위한 것입니다. 특정 상위 요소 내의 최종 하위 요소를 타겟팅합니다. 그러나 주어진 예에서 강조된 것처럼 이 선택기는 대상 요소 외에 다른 요소가 있는 경우 예기치 않게 동작할 수 있습니다.

:last-child 선택기는 요소가 절대 마지막 요소인 경우에만 요소에 적용됩니다. 상위 컨테이너 내에서. 즉, 요소가 특정 클래스나 유형의 마지막 요소인 경우에도 일치하지 않는 후속 요소가 있으면 :last-child가 해당 요소를 선택하지 않습니다.

이 동작을 설명하려면 다음을 고려하세요. HTML 및 CSS:

<ul>
    <li class="complete">1</li>
    <li class="complete">2</li>
    <li>3</li>
    <li>4</li>
</ul>
로그인 후 복사
li.complete:last-child {
    background-color: yellow;
}
로그인 후 복사

이 시나리오에서 :last-child 선택기는 최종

    • 의 마지막 요소가 아니기 때문에 "완전한" 클래스를 사용합니다. 대신, 네 번째
    • 클래스가 없으면 마지막 하위 항목으로 간주되며 배경색이 노란색으로 설정됩니다.

      이러한 차이는 특히 :last-of-type과 같은 다른 선택기와 결합할 때 혼란을 초래할 수 있습니다. :last-child는 클래스나 유형에 관계없이 컨테이너의 가장 마지막 요소만 대상으로 한다는 점을 기억하는 것이 중요합니다.

      이 제한을 극복하려면 :last-of-type 또는 jQuery 메소드와 같은 대체 선택기를 사용하세요. $("li.complete").last()와 같은 기능을 사용하여 특정 속성을 가진 최종 요소를 타겟팅할 수 있습니다.

      위 내용은 `:last-child`가 항상 특정 유형의 마지막 요소를 선택하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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