Eng*_*eer 274
您可以使用:enabled伪类,但通知IE<9不支持它:
button:hover:enabled{
/*your styles*/
}
button:active:enabled{
/*your styles*/
}
Run Code Online (Sandbox Code Playgroud)
小智 55
.button:active:hover:not([disabled]) {
/*your styles*/
}
Run Code Online (Sandbox Code Playgroud)
你可以尝试这个..
小智 32
为什么不在css中使用属性"disabled".这必须适用于所有浏览器.
button[disabled]:hover {
background: red;
}
button:hover {
background: lime;
}
Run Code Online (Sandbox Code Playgroud)
jak*_*ker 10
在sass(scss)中:
button {
color: white;
cursor: pointer;
border-radius: 4px;
&:disabled{
opacity: 0.4;
&:hover{
opacity: 0.4; //this is what you want
}
}
&:hover{
opacity: 0.9;
}
}
Run Code Online (Sandbox Code Playgroud)
mic*_*hai 10
较低的特异性的方法,在最先进的浏览器上运行(IE11 +,并排除一些移动歌剧和IE浏览器- http://caniuse.com/#feat=pointer-events):
.btn {
/* base styles */
}
.btn[disabled]
opacity: 0.4;
cursor: default;
pointer-events: none;
}
.btn:hover {
color: red;
}
Run Code Online (Sandbox Code Playgroud)
该pointer-events: none规则将禁用悬停; 您不需要使用.btn[disabled]:hover选择器来提高特异性以使悬停样式无效.
(仅供参考,这是简单的HTML指针事件,而不是有争议的抽象输入设备指针事件)
如果您使用LESS或Sass,则可以尝试以下操作:
.btn {
&[disabled] {
opacity: 0.6;
}
&:hover, &:active {
&:not([disabled]) {
background-color: darken($orange, 15);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136594 次 |
| 最近记录: |