>웹 프론트엔드 >CSS 튜토리얼 >CSS 선택기를 사용하여 중첩 목록에서 직계 하위 항목만 대상으로 지정하는 방법은 무엇입니까?

CSS 선택기를 사용하여 중첩 목록에서 직계 하위 항목만 대상으로 지정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-09 00:50:01377검색

How to Target Only Immediate Children in a Nested List with CSS Selectors?

직계 자식 식별을 위한 CSS 선택기

CSS에서 자식 선택기의 목적은 자식 선택기의 직계 자손 요소를 대상으로 하는 것입니다. 지정된 상위 요소. 그러나 선택자 ul > li는 직계 하위 요소뿐만 아니라 ul의 하위 요소인 모든 li 요소를 실수로 선택할 수 있습니다.

답변: 직계 하위 선택기 사용

올바른 CSS 선택기를 사용하면 ul의 직계 자식만 대상이 됩니다. ul > 리. 이 선택기는 하위 목록 내에 중첩된 모든 요소를 ​​제외하고 li 요소가 ul에서 직접 파생되어야 함을 지정합니다.

MooTools에서 선택기 적용

제공된 MooTools 코드에서 , getElements()는 깊게 중첩된 요소를 포함하여 모든 하위 항목을 반환합니다. 이 문제를 해결하려면 코드에서 getChildren()을 대신 활용해야 합니다:

var drop = function(el){
    el.getParents('ul').reverse().each(function(item){
        var posCount = 1;
        item.getChildren("li").getElements("a span[class=position]").each(function(pos){
            pos.set('text', posCount);
            posCount++;
        });
    });
}

추가 고려 사항

  • IE6 호환성: > ; IE6에서는 선택기가 지원되지 않습니다. 해결 방법은 다음 CSS를 사용하는 것입니다.
#parent li { /* style appropriately */ }
#parent li li { /* back to normal */ }
  • 중첩 요소: li 요소에 추가 중첩 요소가 포함된 경우 특정 대상을 지정하기 위해 추가 선택기가 필요할 수 있습니다. 하위 레벨.

결론

> 선택기를 사용하면 항목이 정렬되거나 이동될 때 MooTools 코드가 직계 하위 li 요소의 위치를 ​​정확하게 업데이트합니다. 이렇게 하면 중첩된 정렬 가능 목록 내의 번호 매기기가 정확하고 최상위 요소에 대한 변경 사항만 반영됩니다.

위 내용은 CSS 선택기를 사용하여 중첩 목록에서 직계 하위 항목만 대상으로 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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