HTML禁用按钮获取:活动CSS伪类

Jus*_*mas 15 html css css-selectors pseudo-class css3

CSS:

button:active {
/* active css */
}

button:disabled {
  opacity: 0.5;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<button disabled="disabled">Ok</button>
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,浏览器会添加按钮:活动状态使其看起来像被单击(即使它被禁用).我发誓,我想:只有在按钮启用时才会添加活动状态.我错过了什么?

Ble*_*der 32

据我所知,:active不排除:disabled元素.如果您愿意,可以阅读规范.

要解决您的问题,您可以:disabled通过仅:enabled使用:active选择器定位元素来排除元素:

button:enabled:active {
/* active css */
}

button:disabled {
  opacity: 0.5;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/Blender/LRvra/1/

  • @Justin Thomas:啊,但是当你支持CSS3时,你*支持CSS2.1,因为CSS3基本上是带有花哨的CSS2.1. (2认同)