为什么IE7没有正确渲染这个绝对定位的元素?

时间:2011-08-01 20:54:29

标签: css html5 css-position internet-explorer-7

关于IE7的绝对定位元素的行为,有大量的问题和论坛帖子。在我读过的十几个中,其中包含的任何建议都没有帮助我的特殊情况。我开始怀疑是不是因为我正在使用HTML5 shiv。无论如何,我希望有人可能对我所看到的行为有所了解。

Firefox 5,Safari 5,Chrome 12,IE8 / 9 The correct rendering

Internet Explorer 7 The incorrect rendering

简而言之,你将鼠标悬停在其中一个导航菜单项上,它会使用高级菜单下拉div,yadda yadda yadda ...隐藏的div绝对定位,但是在IE7中它会捕捉到菜单的边缘你强调的项目。在其他地方,它正确显示在它下面。

我正在使用remy的HTML5 shiv。我正在使用CSS来“阻止”以下元素:headernavarticlefootersectionaside,{{ 1}}和figure

以下是相关的HTML和CSS:

figcaption

我感谢任何人都能提供的见解!谢谢!

3 个答案:

答案 0 :(得分:2)

我们决定放弃对Internet Explorer 7的支持。在IE7中存在一个绝对的位置错误,不值得为我们的访问者市场份额进行修复。

答案 1 :(得分:0)

我想几个星期前我遇到了同样的问题,这让我疯了。

我用Google搜索了position absolute ie7,有点想法,并尝试将所有position:absolute改为position:relative,并且推文margin-right -left -top -bottom - 不起作用。

然后我摸索着z-index,也无济于事。

我的解决方案是为每个元素赋予position:absolute样式。我的问题是谷歌地图上的一些div。 position:absolute;top:0;left:0;width:100%;height:100%做了伎俩。幸运的是,我没有依赖任何相对定位的div,但我想!应该可以使用一些JS(不仅仅是getElementById('style)',它是相同的东西,但layers.pos。)

我最好的选择是尝试给你的kb position:absolute,然后调整。

尝试使用Google搜索z-index ie7 position absolute bug

另外,如果您不熟悉它,http://crossbrowsertesting.com/是自动截图的真正宝石,甚至可以在任何浏览器/操作系统组合中使用VNC来测试您的网站。他们有免费试用,至少有几次试运行。 Firebug也非常适合在不实际修改文件的情况下进行样式更改的实时测试。

答案 2 :(得分:0)

嘿,我和你描述的东西有类似的东西,花了我几个小时来搞清楚,最后我不知道为什么会引起问题,但我怀疑这是一个错误而不是一个功能。我的第一级text-align: right;上有ul,第二级有text-align: left;。从第一级删除它解决了问题。为了达到相同的效果(因为我将锚呈现为块)我只是将text-align放在锚点而不是ul上。

希望有所帮助。我认为你现在已经开始了,但是有兴趣看看这是否与你的问题有关。