2013-11-27 2 views
0

내 페이지가 동일한 ID의 두 개의 UL을 생성하며 CSS를 통해 마지막 하나를 제거하고 싶습니다 (표시 : 없음). 나는 마지막 아이 속성이지만 전혀 운이 없다. 나는 둘 다 사라지게하거나 그들 중 누구도 만들지 않았다.CSS : last-child 속성을 통해 페이지에 특정 ID의 마지막 ul 만 가져 오는 방법?

예 : 단지 내 #content 내부의 마지막 UL 번호 일부-UL을 위해 아무도 :

<div id="content"> 

<ul id="some-ul"> 
<li>...</li> 
<li>...</li> 
</ul> 

<ul id="some-ul"> 
<li>...</li> 
<li>...</li> 
</ul> 

</div> 

나 디스플레이를 적용하지 싶습니다.

+7

ID는 서로 달라야 _ 반드시 _ :

는 여기에 바이올린입니다. – SLaks

답변

0

완전히 일반적인 방법, 즉 어떤 클래스에 의존 또는 ID의

div ul:last-of-type li:last-child { 
    display:none; 
} 

그러니까 기본적으로, 사업부는 목록 항목을 포함하는 상위 항목입니다 - 당신이 원하는 경우는 클래스 또는 ID를 가질 수 .

그 안에 ul 태그가 있습니다. last-of-type은 마술을 수행하여 부모 div 내의 마지막 ul을 찾습니다. 그런 다음 리의 마지막 아이를 사용하십시오. http://jsfiddle.net/Kx8SN/

+0

가능한 경우 ID가 "some-ul"인 마지막 ul 만 제거하고 싶습니다. 페이지의 마지막 ul이 다른 클래스 또는 ID 일 수 있으므로 제거하지 않으려 고합니다. 또한 마지막 li을 없애고 싶지만, 모든 LI가있는 #content의 마지막 ul, 전체 ul을 제거하고 싶지 않습니다. –

+0

아마 당신은 달성하려는 것을 설명해야합니까? –

3

는과 같이 할 수있다 :

#content ul:last-child { 
    display:none; 
} 

last-child 것으로 만 IE9 +에서 지원됩니다. @Jop에서 언급했듯이 IE의 이전 버전에서이 문제를 해결하려면 마지막 하위 요소에 클래스를 설정해야합니다.

jsFiddle here.

또한, ID의이 항상 고유해야 기억 해요. 이 작업을 수행하는

+0

참고 사항 : last-child는 css3 선택 도구이므로 이전 버전의 IE에서는 작동하지 않습니다. 이 경우 마지막 자식에 클래스를 설정하여이 클래스가 작동하도록해야합니다. – Jop

+0

@Jop 게시 한 것처럼 수정했습니다. 감사합니다! – lifetimes

+0

ID가 고유해야한다는 것을 알고 있지만, PHP가 이런 식으로 생성하고 코드에서 마지막 ul # some-ul을 제거하려고합니다. 심지어 전에 언급 한 것과 같은 것을 시도했습니다. #content ul # some-ul : last-child { display : none; } –

관련 문제