我正在尝试设置样式input[type="button"]
,似乎当我单击标签 IE(在我的情况下为 9;我不关心较低版本)时不会应用该:active
样式。如果我在标签之外单击,一切都可以在 Chrome 和 Firefox 以及 IE 上正常运行。我没有找到任何可能是问题的线索。
A<button>
没有这个问题,所以我猜另一个按钮的标签有什么特别之处,但是什么?有什么解决方法吗?
我正在尝试设置样式input[type="button"]
,似乎当我单击标签 IE(在我的情况下为 9;我不关心较低版本)时不会应用该:active
样式。如果我在标签之外单击,一切都可以在 Chrome 和 Firefox 以及 IE 上正常运行。我没有找到任何可能是问题的线索。
A<button>
没有这个问题,所以我猜另一个按钮的标签有什么特别之处,但是什么?有什么解决方法吗?
有趣的发现在那里。要回答第一个问题,“为什么?”:不幸的是,CSS 规范将语义:active
完全留给了浏览器供应商:
CSS 没有定义哪些元素可能处于上述状态,或者状态如何进入和离开。脚本可能会改变元素是否对用户事件做出反应,并且不同的设备和 UA 可能有不同的指向或激活元素的方式。
现在我会认为这是 IE 中的一个错误(并希望它可能会在 IE10 中修复),但法律条文说这对你来说是完全可以接受的,但运气不好。
回答第二个问题(解决方法?):好吧,你自己说的。使用 a<button>
代替;作为奖励,除了简单的文本之外,您还可以选择在按钮内放置任何类型的内容。