【发布时间】:2013-02-27 08:47:09
【问题描述】:
我正在尝试使用 CSS 表格显示来布局我的页面,但我无法让我的主要内容区域占据页眉和页脚之间的整个区域(垂直)。主 div 包含一些浮动元素,它们不一定会延长屏幕的长度。基本上,无论我做什么,我的主要内容的区域都是由这些元素的垂直高度决定的。对此我能做些什么吗?谢谢!
HTML:
<div id="all-container">
<div id="header">
...
</div>
<div id="table-container">
<div id="content">
<div id="side-bar">
...
</div>
<div id="main">
... some content that's floated ...
</div>
</div>
</div>
<div id="footer"></div>
</div>
CSS:
#all-container {
margin:0px;
position:relative;
min-height:100%;
background-color:#E6DCD8;
}
#header {
height:60px;
padding-left:20px;
padding-right:20px;
background-color:#685642;
}
#table-container {
display:table;
height:100%;
}
#content {
display:table-row;
height:100%;
}
#side-bar {
display:table-cell;
vertical-align:top;
padding-right:100px;
height:100%;
padding-bottom:60px;
}
#main {
display:table-cell;
vertical-align:top;
border-left-style:solid;
border-left-width:normal;
border-left-color:#685642;
padding-bottom:60px;
height:100%;
}
#footer {
position:absolute;
width:100%;
height:50px;
bottom:0px;
background-color:#685642;
}
【问题讨论】:
-
你试过设置body和html为
height:&&min-height:100%;吗?如果不这样做,请将您的#table-container设置为min-height:100%; -
谢谢。尝试了最小高度的东西。似乎没有做的伎俩。我不打算使用 css 表格显示。有没有办法获得类似的 2 列布局?
-
嗨@Jordan我真的很想帮助你解决你的问题,但我无法得到你想要实现的目标,如果你摆弄你的代码或添加什么图像,我可能更容易理解你想达到的
-
@Adrift 你在哪里看到一张桌子?
-
@Adrift 这有点像使用
display: table: 来获取表的行为而不使用table标签。您不应该使用 table 标签进行布局的原因是出于语义原因,而不是因为它的行为不适合布局元素。让 OP 决定他们是否关心像 IE7 这样的死浏览器。