Css ie7:居中相对父母的绝对div行为异常

Css ie7:居中相对父母的绝对div行为异常,css,internet-explorer-7,Css,Internet Explorer 7,最好用图片来解释这个问题,但您可以在此处亲自尝试: 只需将ie7与(ie8、ff或chrome)进行比较即可。在现代浏览器中看起来是这样的: 如ie7中所示: 是什么导致它在ie7中偏离中心?一旦你移除位置:绝对所有东西都会自动更正,减去红色边框;但是,通过将适当的边界应用于您希望它们位于的边,这是非常容易解决的 如果必须保持位置:绝对则添加左:0,这似乎也会纠正它。IE7可能需要左/右键,或者由于不知道将其放置在何处而变得有点混乱。发布.css会很有帮助。因为您没有DOCTYPE声明,浏

最好用图片来解释这个问题,但您可以在此处亲自尝试:

只需将ie7与(ie8、ff或chrome)进行比较即可。在现代浏览器中看起来是这样的:

如ie7中所示:


是什么导致它在ie7中偏离中心?

一旦你移除
位置:绝对
所有东西都会自动更正,减去红色边框;但是,通过将适当的边界应用于您希望它们位于的边,这是非常容易解决的


如果必须保持
位置:绝对
则添加
左:0
,这似乎也会纠正它。IE7可能需要左/右键,或者由于不知道将其放置在何处而变得有点混乱。

发布.css会很有帮助。因为您没有DOCTYPE声明,浏览器正在怪癖模式下运行,您可能希望添加DOCTYPE以使浏览器在标准模式下运行。以防万一IE7只是解释怪癖模式比其他模式更糟糕。放弃我的上一条评论我只是添加了一个doctype并修复了损坏的标签,但仍然无法在IE7中工作。。。所以与doctype无关@Mahesh,css在我链接的帖子中。是的,你的问题是你没有指定它应该放在哪里。最好添加
顶部
底部
左侧
右侧
中的一个,以指定其自身的位置。另外,正如@Alex Key所说,你可能需要一个DOCTYPE(请使用优雅的
-没有理由不-)。这个位置很好:绝对正确,我自己就玩过了。有趣的东西,我以前没见过,所以我在谷歌上搜索了一下,发现了这个@Alex Key,你在那里发现了什么特别的东西?@Akkuma。不幸的是,在quirksmode上并没有太多的内容,只是提到了IE7(我不知道)在相对容器中定位absolute时存在一些bug。这并不是一个有趣的链接,而是一个我不知道的bug/行为。谢谢你指出这一点。