【发布时间】:2013-04-19 12:18:12
【问题描述】:
我试图在侧边栏留空的空间中居中。这就是我想要的样子:
实际上,对于大多数使用 margin: auto 的浏览器来说,我设法使这项工作正常,同时设置 overflow: hidden:
CSS
#header {
height: 50px;
background: #224444;
color: #fff;
}
#container div {
padding: 1em;
}
#content {
max-width: 400px;
margin: auto;
background: #ddd;
height: 300px;
overflow: hidden;
}
#sidebar {
float: right;
width: 200px;
background: #aaa;
height: 300px;
}
HTML
<div id="container">
<div id="header">
PAGE HEADER
</div>
<div id="sidebar">
Sidebar
</div>
<div id="content">
Centered Content
(Works everywhere but on IE9)
</div>
</div>
但是,它不适用于 IE9。奇怪的是 IE8 工作正常!
我的想法不多了,所以我想也许有人知道发生了什么?这个技巧似乎在其他任何地方都非常有效。
注意:请注意div 的内容应该是灵活的,因为它在演示中。随着可用空间的减少,它应该改变大小并挤进去。
【问题讨论】:
-
如果您希望居中的内容具有可变宽度,则几乎可以排除使用
margin: auto; -
@MattCoughlin IE8 和除 IE9 之外的所有现代浏览器似乎都不同意,不过:/
-
hmmm... 一旦
max-width启动,它必须充当隐式固定宽度,以便margin: auto具有固定宽度(我猜在IE9 中除外) . -
在容器中居中自动宽度浮动有一个相当古老的解决方案:artlebedev.com/tools/technogrette/html/align-center
标签: html css internet-explorer internet-explorer-9