【发布时间】:2014-01-16 14:13:33
【问题描述】:
这里是 JSFiddle:http://jsfiddle.net/nN5Td/
我有两个侧边栏和一个“maincontent”div 的基本布局,它们都被包裹在一个“wrapper”div 中。这是 HTML:
<div id="wrapper">
<div id="aside-left">
<ul>
<li>Link1</li>
<li>Link2</li>
<li>Link3</li>
</ul>
</div>
<div id="maincontent">
<p>All content goes in here.</p>
</div>
<div id="aside-right">
<ul>
<li>Link1</li>
<li>Link2</li>
<li>Link3</li>
</ul>
</div>
</div>
这是 CSS:
#wrapper {
margin-right: auto;
margin-left: auto;
background-color: #FFF;
position: relative;
min-height:200px;
border: 1px solid #F0F;
}
#aside-left {
position: absolute;
height: 400px; /* guess */
width:100px;
top: 0;
left: 0;
border: 1px solid #9C0;
}
#maincontent {
margin: 0 130px;
border: 1px solid #9C0;
}
#aside-right {
position: absolute;
height: 400px; /* guess */
width:100px;
top: 0;
right: 0;
text-align: right;
border: 1px solid #9C0;
}
我对所有内容都设置了边框,以便您可以看到问题。
#wrapper div 不包含绝对定位的 #aside-left 和 #aside-right div。为什么这些侧边栏 div 是绝对定位的?因为#maincontent div 的大小会根据用户的分辨率水平/流畅地增长,而侧边栏的大小保持不变。 (如果你想了解更多,这里是我原来的布局问题CSS percentage and pixel layout combined)
我能做些什么来确保布局不会中断(即,有一个流动的#maincontent 中心 div 和固定的左右侧边栏)但让#wrapper 调整高度以包含所有元素?如果可能,我想避免使用 Javascript。
有什么类似于'clearfix'的东西可以使相对定位的容器调整到绝对位置div的高度吗?我无法知道绝对定位的 div 的高度,因为它们的内容是动态创建的。
【问题讨论】:
标签: css