IE7+ 中的 CSS Tooltips 渲染问题

Posted

技术标签:

【中文标题】IE7+ 中的 CSS Tooltips 渲染问题【英文标题】:CSS Tooltips rendering problem in IE7+ 【发布时间】:2011-09-28 22:29:49 【问题描述】:

将鼠标悬停在链接上时会出现提示。这些工具提示显示列标题的过滤选项。工具提示包含文本、下拉列表或文本框。在 Firefox 和 Chrome 中,CSS 工作正常,但在 IE7+ 中存在问题。

    工具提示显示在页面上所有其他对象的上方(正如它应该显示的那样),除了您悬停在上面的原始锚链接和图像。这些会在工具提示及其内容之上呈现。

    当鼠标光标打开下拉列表并移动到 DDL 的列表框时,工具提示包含下拉列表时会消失。我假设当光标在列表上移动时,它不再悬停在工具提示上,而是关闭了。 IE 无法告诉工具提示,当鼠标悬停在 DDL 的列表上时,它实际上是悬停在工具提示本身上。

我的 CSS 非常简单:

ul li a:hover  background: #88f; border-style: none; 
.tooltip
   z-index:25;
   border: none;
   color: inherit;


.tooltip:hover  z-index:25; position:relative;

.tooltip span.tooltip_actual  display: none; 

.tooltip:hover span.tooltip_actual 
   display:block;
   position:absolute;
   top:-1em; left: -42em; width: 40em;
   border:1px solid #000;
   background-color: #fff; color:#000;
   text-align: left; padding: 1em; 

以前有人遇到过这个问题吗?有解决办法吗?

编辑:这是工具提示错误:

编辑 #2:这是我的代码示例:http://jsfiddle.net/NAXrc/

【问题讨论】:

我尝试摆弄 z-index,但它似乎没有做任何事情。我什至试图删除除工具提示代码之外的所有 CSS。它仍然看起来破碎。至于下拉列表的问题,我很茫然。 工具提示问题在 IE8+ 中不是问题。即使在最新的 IE9 中,下拉列表问题也很明显。我可能不得不寻找其他显示列表的途径。 【参考方案1】:

IE7z-index 的已知错误。

如果你能提供一个测试用例,我可能会给你一个更好的答案。

否则,我所能做的就是向您指出这些资源:

http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/ IE 6 & IE 7 Z-Index Problem IE7 Z-Index Layering Issues http://richa.avasthi.name/blogs/tepumpkin/2008/01/11/ie7-lessons-learned/

但是在IE7+中存在问题。

IE8/9 中不应该存在这些问题。您的页面没有使用 IE8/9 标准模式吗?

如果您的页面使用的是兼容模式(模拟 IE7)或 Quirks 模式,那就可以解释为什么高于 7 的版本也会出现问题。

【讨论】:

我们公司的标准仍然是IE7,所以我假设使用本网站(内部)的人仍然使用IE7。只要还是底线,我就只能支持了。 那么您必须尝试应用我链接到的解决方法。如果您可以在jsFiddle 或JS Bin 上重现问题,我会尽力为您解决。 我按照你的要求做了。您可以在 IE7 标准模式下运行它并看到它执行正常,但下拉列表会在尝试选择和项目时关闭工具提示。在 IE8 模式下,您会看到链接/图像呈现在工具提示上方。它也仍然显示下拉问题。链接:jsfiddle.net/NAXrc 今天晚些时候我会看看。我不得不说,这看起来非常令人生畏。没有承诺! Z-index 是问题所在。我正在修改 CSS 的错误部分。当你继承遗留代码时会发生这种情况:(。

以上是关于IE7+ 中的 CSS Tooltips 渲染问题的主要内容,如果未能解决你的问题,请参考以下文章

文档模式

IE7 和 IE8 中的 CSS 渐变导致文本出现别名

IE7 和 IE8 中的 CSS 渐变导致文本出现别名

CSS Sprites 浏览器渲染

less中使用global前序修改antd的原始组件样式

IE7 Z-Index 问题(CSS 下拉菜单)