IE8中的CSS定位引起了头痛

时间:2013-12-18 16:18:51

标签: jquery html css internet-explorer-8

我正在http://tools.weddingideasmag.com/MainNavTest/

进行一次主导航测试

问题是,我无法在IE8中使用drop菜单。子菜单绝对定位,但在IE8中它们是向右的。毫不奇怪,这只是在IE上看起来像这样!

这就是Chrome页面的样子,而且正是菜单应该放置的位置......

enter image description here

这就是它在IE8上的样子......

enter image description here

所有子菜单都应直接显示在父链接下方。任何人都可以帮忙,这让我疯了!

1 个答案:

答案 0 :(得分:1)

绝对定位的元素相对于它们最近的位置(即非静态定位的)父元素定位。在Chrome中,如果您没有为绝对孩子分配topleft值,则会将其置于“正确”的位置(而不是应该依赖的位置)。 IE8不是这样。

这将解决您的问题:

div.flat-nav>ul>li { position: relative; }

虽然,当你这样做时,你必须专门给你的下拉菜单宽度(否则它们将被限制在li父项的宽度。此外,你需要指定left:0

div.flat-nav ul.column-based { left:0; width: XXXpx; }