10

我刚刚注意到浏览器处理 css 的方式之间存在不一致:右键单击元素时的活动状态(上下文菜单单击)

  • Firefox: :active 未触发
  • Chrome: :active 会被暂时触发,直到 mouseup 发生
  • Safari 5 & IE 10: :active 被触发并且元素保持 :active 直到上下文菜单关闭

这是一个快速的 jsfiddle 来复制这个http://jsfiddle.net/annam/tqBqV/

div { background: red; }
div:active { background: green; }

任何人都知道哪个是正确的行为?我想有没有办法标准化?

4

1 回答 1

12

Selectors 3表示:active当元素被激活时为真,并进一步将通过鼠标等指针设备的激活定义为按下主按钮时:

  • :active伪类在用户激活元素时应用。例如,在用户按下鼠标按钮并释放它的时间之间。在具有多个鼠标按钮的系统上,:active仅适用于主要或主要激活按钮(通常是“左”鼠标按钮)及其任何别名。

如果二次点击:active在特定浏览器中激活元素,则该浏览器违反规范(除非浏览器声称仅实现CSS2.1,此限制不是一成不变的,但事实并非如此对于给定的任何浏览器)。

于 2013-04-10T11:52:18.820 回答