【问题标题】:CSS :hover breaks button styling in IE11CSS :hover 打破 IE11 中的按钮样式
【发布时间】:2016-04-12 21:33:14
【问题描述】:

IE11 中按钮的默认样式包括悬停效果 - 悬停时按钮以青色突出显示(确切效果可能取决于主题)。但是,使用 :hover 伪类添加看似无关的 CSS 规则会破坏按钮上的悬停突出显示,并且在单击时它们也会表现出一些奇怪的行为(悬停突出显示似乎已应用并在单击按钮时卡住)。

我在 JSFiddle 中有一个简单的测试用例,只有以下 HTML,可以按预期工作:

<div>
    <button>Prev</button>
    <button>Next</button>
</div>

将鼠标悬停在“上一个”按钮上时如下所示:

https://jsfiddle.net/qtsfokmy/

如果我添加以下 CSS 规则(无论使用什么类名,或者它是否为空或实际执行某些操作),悬停时按钮不再突出显示,但如果我单击一个按钮悬停效果似乎卡住了(即单击后未悬停时按钮仍然突出显示):

.AnythingYouWant:hover {}

https://jsfiddle.net/vwhurLy4/

我的电脑详细信息是:Windows 7 64 位 SP1、IE11 11.0.9600.18230、Aero 主题

我是在使用 CSS 做一些无效的事情来导致这种情况,还是这只是一个奇怪的 IE11 错误?有没有什么办法解决这一问题? Firefox 和 Chrome 似乎不受 :hover CSS 规则的困扰。

【问题讨论】:

  • 在 IE11 中似乎对我有用:jsfiddle.net/vwhurLy4/1 你能澄清一下你遇到了什么问题,并分享用于体验它的实际代码吗?
  • 仅供参考,这仅在您拥有航空主题时才会发生;基本主题不会发生这种情况(并且可能不会发生在 Windows 10 上)。在我切换主题之前我无法重现它。
  • 是的,这绝对是一个错误。我会提交它。
  • 可以确认。在 Win 7 上的 IE 11 中发生在我身上,但在 Win 10 上的 IE 11 上不会发生
  • @PaulAbbott 感谢您澄清这只会影响航空主题 - 我没想过尝试不同的主题。

标签: html css internet-explorer-11


【解决方案1】:

我想知道是否有办法将默认悬停样式重新应用于按钮,但似乎您甚至不需要走那么远。任何非空的button:hover 规则似乎都可以修复默认样式(空规则 修复问题),例如这条规则实际上并没有改变任何东西,而是恢复了 IE11 中的默认悬停效果:

.AnythingYouWant:hover {}
button:hover {
  font-weight: normal;
}

我不确定是否有更好的“什么都不做”CSS 规则可以使用。这是一个显示“修复”的小提琴:

https://jsfiddle.net/xkf5fbLd/

【讨论】:

  • 是的,适用于我在 IE v11.0.9600.18204 上的 Win7 Ultimate SP1 64 位,Aero on。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-18
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 2011-12-30
  • 2010-09-12
相关资源
最近更新 更多