我有一点IE8问题(听起来很熟悉?)
我有一个按钮。当您将鼠标悬停在按钮上时,悬停状态会生成一个更大的框,其中包含html。在这种特殊情况下,它是一个小型音乐播放器。
所以它就像这样,当你将鼠标悬停在按钮上时会生成一个带有可点击链接和一些文字的小型音乐播放器。你可以将鼠标移动到这个盒子里的任何地方,但是一旦你离开盒子/音乐播放器,悬停状态就会再次消失。 抱歉,但我不知道如何解释它。
除了IE8之外,这一切都有效。 在IE8中,只要鼠标离开原始小按钮,悬停状态就会消失。所以在音乐播放器周围导航变得不可能。现在我注意到当悬停框中没有html时,它工作正常,但是当有html(在这种情况下是iframe)时,只要我触摸悬停框内的任何html,它就会丢失悬停。所以看起来问题不是悬停框,而是框内的代码使其失去焦点
我想知道的是,这是IE8中的一个已知问题,还是可能只是我身边的编码错误。在这种情况下,我可以发布CSS。
答案 0 :(得分:1)
我遇到了问题:HOVER也在IE8中声明并且我注意到相同的CSS(甚至指向相同的外部CSS文件)在某些页面上工作但在其他页面上没有。对我来说,解决方案是始终将DOCTYPE添加到所有页面的顶部(在起始HTML标记之上)。
现在看来很明显,但有时(特别是在编辑旧网站时)并不总是指定DOCTYPE。
我希望这有帮助!
答案 1 :(得分:0)
你的问题似乎并不在于悬停。首先你假设一些窗口高度,如果高度不同,你的项目看起来很奇怪。假设你对这些假设做了一些非常精确的计算,你的问题可能就是盒子模型问题了。 box-sizing:border-box
可能有所帮助,但您必须重新计算所有内容。
此外,您可以在元素被隐藏/下拉之前使用超时,这样微型鼠标移动不会动摇元素,也许可以“捕获”它们。
考虑到这两点,所有悬停问题都应该是可以解决的。
编辑:对于iframe悬停,请查看:Iframe hover not working in IE (all versions)。