:hover在IE9中无法正常工作

Lin*_*sku 12 css iframe internet-explorer hover

我有一个简单的CSS下拉菜单,里面有一个iframe.当我将鼠标悬停在下拉菜单上时,菜单会下降.但是当我的鼠标悬停在菜单中的iframe时,菜单会返回.这是我的代码的简化版本:

<div id="comments">
  <a href="#" class="btn">View comments</a>
  <div id="comment-wrap">
    <iframe src="http://www.facebook.com/plugins/comments.php?..."></iframe>
  </div>
</div>

<style type="text/css">
#comment-wrap{display:none;z-index:5;position:absolute;padding:10px;background-color:#fff;}
#comments:hover #comment-wrap{display:block;}
</style>
Run Code Online (Sandbox Code Playgroud)

这适用于FF,Chrome和Opera的最新版本.

PS当我的鼠标悬停在#views-wrap的填充上时,下拉菜单仍然保持下降状态.

小智 17

在处理:hover psuedo类时,我遇到了类似的问题.当我将浏览器的文档模式更改为IE 9并且浏览器模式也设置为IE9时,它开始正常工作.IE 9默认将文档模式设置为IE8.

此外,您可以在head标记中添加以下元信息:

<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


CJ *_*des 5

我发现有同样的问题,我知道这已经是一个老帖子,但我觉得我必须发布我的解决方案.除非你在顶部添加,否则IE基本上不接受:hover<a>指定之外的任何标签的事件href(不会在早期工作,即版本)<!DOCTYPE HTML>.就是这样!问题解决了 :).

  • 只是爱,当我得到一个投票,没有任何解释:P.容易投票,难以证明?它会帮助我和任何来到SO的人并搜索这个问题的答案,知道为什么给予投票(向上或向下).我分享了我的经验,以帮助并添加一个不同的选项.通常我发现投票最多的答案不是对我有用的答案.不是个人问题,只是试图建设性. (4认同)

ims*_*sky 1

不幸的是,这似乎是一个浏览器错误,可以追溯到许多 IE 版本。您可以使用 JS 解决方案作为 IE 的备份。我创建了一个jsFiddle 示例,改编了解决此问题的另一个解决方案的代码。

希望有帮助!

编辑:IE9 中的进一步测试表明,虽然显示了 iframe,但将鼠标悬停在滚动条上会立即隐藏它。可能有一个更复杂的 JS 修复程序可以解决这个问题,但如果您想实现它,则取决于您。