2014-02-12 1 views

답변

3

:before 부분이 무엇이든간에 (당신은 우리에게 아무런 코드도 표시하지 않았고 그 이미지는 마크 업을 설명하지 않습니다), 당신은 그 의사 요소 f를 겨냥 할 수 없습니다. 또는 :hover의 목적. :hover 및 기타 의사 클래스는 의사 요소가 아닌 전체 요소에만 적용될 수 있습니다.

당신이 적절하게 목표로 다음 :hover와 형제 선택기를 사용하여 부모 요소의 하위 실제 요소로 :before:after 의사 요소를 용도 변경 더 좋은 행운이있을 것이다, like so :

<div class="parent"> 
    <span class="before">:before</span> 
    Content 
    <span class="after">:after</span> 
</div> 
.parent > .before:hover ~ .after { 
    color: red; 
} 
+0

@ Mr. Alien : 그건 뭔가 다른 것을 보여줍니다 ... Olly Hodgson의 답은 제 것보다 가깝습니다. – BoltClock

+0

그래도 포함시켜야합니다 :) –

+0

@ Mr. Alien : 나는 요즘 완전히 새로운 바이올린을 만들기 위해 게으르다. 나는 그걸 멈춰야한다. :) 내 대답은 몇 가지로 업데이트 될 것이다. – BoltClock

1

이 코드를 보지 않고 정확히 당신이 원하는 것을 말할 어렵지만,이 가까이 당신을 얻어야한다 :

div:hover { 
    // These styles affect the div when hovered. 
} 
div:hover:before { 
    // These affect the div's :before when the div is hovered 
} 
div:hover:after { 
    // These affect the div's :after when the div is hovered 
} 
+1

필자가 올바르게 읽는다면 그는 전체 요소가 아닌': before '가 올랐을 때 적용하기 위해': after'에 대한 변경 만 원합니다. 그것은 불가능합니다. – BoltClock

+0

도와 줘서 고마워,하지만 내가 가진 것은 두 개의 분리 된 부분이다. 하나는 div 앞에있다. – Yonatan