【发布时间】:2011-12-27 22:15:46
【问题描述】:
菜单适用于所有主流浏览器,但在 IE7 中看起来有所不同。请参阅下面的屏幕截图。
在http://jsfiddle.net/FQLdm/6/查看演示
当您将鼠标悬停在主页链接上时,您会看到一个子菜单。在 IE7 中,菜单按钮和子菜单都是向上推的。
这发生在我替换这个
.menu1 ul.menu li{
position: relative;
list-style-type: none;
display:block;
float:left;
}
用这个(我需要用这种方式inline-block来使列表项居中)
.menu1 ul.menu li{
position: relative;
list-style-type: none;
display:inline;
display:inline-block;
*display:inline; /*IE7*/
*zoom:1; /*IE7*/
}
在 Chrome 中看起来不错
在 IE7 中看起来不同。请注意主页按钮是如何抬起的。它应该看起来像上面的 chrome 屏幕截图。
【问题讨论】:
-
这很可能是某种保证金问题。你有重置css脚本吗?我不能 100% 确定,但似乎子菜单正在“推高”主菜单项,就像我之前所说的那样,这很可能是某种保证金问题。
-
@matt 我已经重置了 CSS。这不是问题。这只发生在我使用
inline-block而不是block时。阅读上文 -
哦,我完全错过了:p,这是因为 IE7 并不真正支持内联块。它仅来自 IE8+。也许使用 float:left 和 margin-left?
-
@matt 我已经掌握了 IE7 的技巧。完全阅读我的问题。我需要使用
inline-block,这样我就可以在 UL 中将列表项居中。 -
您的代码在 IE7 中运行