【发布时间】:2013-12-31 05:24:25
【问题描述】:
我在 Internet Explorer 9+ 中遇到了以下问题,这真的很奇怪。该代码在这些浏览器中产生奇怪的结果,并且在 Chrome/Safari、Firefox 和 Opera 中运行良好。
HTML:
<div class="outer">
<div class="inner"></div>
</div>
<div class="absolute"></div>
还有 CSS:
.outer {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: scroll;
background: #ECD078;
}
.inner {
width: 200px;
height: 2000px;
margin: 0 auto;
background: #D95B43;
border-bottom: 20px solid #53777A;
}
.absolute {
width: 10px;
height: 50px;
background: #53777A;
position: absolute;
top: 0;
left: 50%;
margin: 0 0 0 -110px;
}
外部容器有溢出:自动和位置:固定。内部容器具有设置的宽度和边距:0 auto 以保持居中。除了 IE(所有版本)之外,所有浏览器都可以正常工作。在 IE 中,内部容器没有正确居中,并且向左移动了几个像素。
示例小提琴有一个绝对容器,它位于内部容器旁边,以说明 IE 中的问题。当我从外部容器中删除溢出:自动时,它工作正常,但我需要它,因为它需要可滚动。任何建议为什么会发生这种情况以及如何解决它?提前致谢!
【问题讨论】:
-
我刚刚在 Windows 7 上的 Chrome 中尝试了你的小提琴,结果看起来与 IE9 完全一样。您是否有机会在 Chrome for OSX 上进行测试?
标签: html css overflow centering absolute