2012-02-11 2 views

답변

95

기능적 표기법에 :not()하지 :hover입니다 : 당신이 :hover 먼저 넣어 원하는 경우

a:not(.active):hover 

, 그 잘 : 의사 클래스가 먼저 상관 없습니다

a:hover:not(.active) 

또는 마지막; 어느 쪽이든, 선택기는 동일하게 작동합니다. :hover을 마지막으로 넣는 것은 내 개인적인 관례 일 뿐이므로 구조용 의사 클래스 뒤에 사용자 상호 작용 의사 클래스를 배치하는 경향이 있습니다.

+1

아, 완벽! 고맙습니다 @ 볼트 클록. – Michelle

+0

'not()'를 지원하지 않는 것으로 보이기 때문에 버전 9 이전에 IE를 지원해야하는 경우주의하십시오. https://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx#pseudoclasses . 아마도 @Mendhak의 답변을 볼 수 있습니다. – SharpC

5

선택자는 not() 선택자를 사용할 수 있습니다.

a:not(.active):hover { ... } 

그러나 모든 브라우저에서 CSS3 기능을 구현하지는 않으므로 모든 브라우저에서 작동하지 않을 수 있습니다.

많은 잠재 고객을 타겟팅하고 구형 브라우저를 지원하려는 경우 가장 좋은 방법은 .active:hover의 스타일을 정의하고 a:hover에서 수행중인 작업을 취소하는 것입니다.

관련 문제