답변:
.button:active:hover:not([disabled]) {
/*your styles*/
}
당신은 이것을 시도 할 수 있습니다 ..
대부분의 최신 브라우저 (IE11 + 및 일부 모바일 Opera & IE 브라우저 제외)에서 작동하는 낮은 특이성 접근 방식 ( http://caniuse.com/#feat=pointer-events ) :
.btn {
/* base styles */
}
.btn[disabled]
opacity: 0.4;
cursor: default;
pointer-events: none;
}
.btn:hover {
color: red;
}
이 pointer-events: none
규칙은 호버를 비활성화합니다. .btn[disabled]:hover
호버 스타일을 무효화 하기 위해 선택기를 사용하여 특수성을 높일 필요는 없습니다 .
(참고로, 이것은 논쟁적인 추상 입력 장치 포인터 이벤트가 아닌 간단한 HTML 포인터 이벤트입니다)
당신이 사용하는 경우 LESS
또는 Sass
, 당신이 시도 할 수 있습니다 :
.btn {
&[disabled] {
opacity: 0.6;
}
&:hover, &:active {
&:not([disabled]) {
background-color: darken($orange, 15);
}
}
}
:not()
셀렉터 도 있지만 IE9 이후로만 지원됩니다. 참조 : developer.mozilla.org/en-US/docs/Web/CSS/:not