2014-03-31 4 views
0

으로 변경하면 특정 클래스로 상위 요소를 선택할 수 있습니까?CSS의 부모 요소를

<ul> 
    <li>Entry 1</li> 
    <li>Entry 2</li> 
    <li class="selected">Entry 3</li> 
    <li>Entry 4</li> 
</ul> 

모든 요소가 아래쪽 테두리가 있습니다 :

예를 들어

나는 HTML-목록이

ul li { 
    border-bottom: 1px solid #FF0000; 
} 

ul li.selected { 
    border-bottom: 1px solid #0000FF; 
} 

내가 CSS 이상 을 알 수있는 방법을 그 이전 요소의 색상 푸른 색입니까? 작은 예 (내가 :previous-child이/유효하지 않은 존재 함을 알고 있지만 그것이 작은 예입니다) 들어 : 여기

ul li.selected:previous-child { 
    border-bottom: 1px solid #0000FF;  
} 

는 바이올린입니다 : http://jsfiddle.net/3W7PQ/

+0

CSS를 사용하여 이전 형제 또는 상위 요소를 선택할 수 없습니다. 자바 스크립트 기반 솔루션을 사용해야합니다. –

+0

아마 :'before'를 사용할 수 있습니다. – 87387264223462

+0

': before' 또는':: before'은 해결책이 아닙니다. 'before '를 사용하면 이전 요소가 아닌 요소의 시작 부분으로 이동합니다. –

답변

1

CSS (4) the subject indicator으로이 가능하지만, 방법이 없습니다 CSS에서 다음 요소를 참조하여 요소를 선택하는 것이 오늘날 존재합니다.

일반적인 해결 방법은 페이지를 생성하는 모든 것이 관계 자체를 지정하도록하는 것입니다. 예를 들어, <li class="before-selected"> 다음에 <li class="selected">이 올 수 있습니다.

+0

좋아요, CSS4는 옵션이 아닙니다. 모든 브라우저에서 작동하지 않습니다. Javascript를 통해 클래스의 이전 요소를 할당하는 것 이상을 유지합니다. 감사 –

관련 문제