2012-01-29 5 views
1

가능한 중복 :
Complex CSS selector for parent of active child변경 요소는 자식 요소에 따라 속성을 CSS

이 내 마크 업입니다 :

<ol class="wp-paginate"> 
    <li><span class="title"></span></li> 
    <li><span class="page current">1</span></li> 
    <li><a href="http://localhost/page/2/" title="2" class="page">2</a></li> 
    <li><a href="http://localhost/page/2/" class="next">»</a></li> 
</ol> 

는 내가의 background-position 속성을 변경하려면 span 자식이있는 li 요소 클래스는 current입니다. 이 경우 두 번째 목록 항목입니다.

나는 CSS에 능숙하다고 생각하지만 실제로 그렇게 할 수는 없다. 어쩌면 길은 없을거야, 아니면 그냥 방구하고있어.

감사합니다.

+0

를 사용

이이 작업을 수행 할 css.Use의 jQuery를 사용하여 달성되지 않는다. – Maverick

+0

적어도 아직 (잘하면 :) 당신은 이것을 할 수있을 것입니다 :'ul li! span.current {여기서 property는 span 스타일이 아니라 li 스타일입니다. 나는 그것이'li! '가 아니라'$ li'라고 확신했다. (Paul Irish는 G +에 그것에 대해 썼다. 그러나 이것에 따르지 않았다 : http://dev.w3.org/csswg/selectors4/#subject. 이 jQuery 플러그인을 사용해 볼 수도 있습니다. http://www.jqueryrain.com/2012/01/use-css4-parent-selector-right-now-with-cssparentselector-js/ – powerbuoy

답변

0

CSS에서이 작업을 수행 할 수있는 방법이 없습니다. 당신은 Javascript에 의지해야 할 것입니다.

순수 CSS에서이 작업을 실제로 수행하려면 current 클래스를 li 자신으로 옮겨야합니다.


사이드 참고 :CSS4에서 다음을 수행 할 수 있습니다이 :

.wp-paginate $li span.current { } 

없이

하지 단일 브라우저는 현재이 지원 말할 수 있습니다.

+0

아, 고통이에요. 내가 사용하는 워드 프레스 플러그인은 엉덩이에 통증이 그 마크 업 출력. 그래도 고마워! –

+0

@MartinHoe - 자바 스크립트를 사용하여 수정할 수 있습니다. 관심이 있으십니까? –

+0

괜찮 았어, 나는'li' 대신'a' 태그에 많은 속성을 적용하기 위해 CSS 판결을 바꿨다. :) –

0

자바 스크립트로 거의 불가능합니다. jQuery를

$("li").each(function() { 
    if($(this).find("span.current").length > 0) { 
    $(this).css("backgroundPostion", "top left"); 
    } 
}); 
관련 문제