我需要制作一个占据窗口高度100%的div来创建侧边栏。这很简单。但有没有办法将该列拆分为3,具有固定高度的第1和第3部分,中间部分扩展以填充加载时的剩余空间,当浏览器仅使用CSS调整大小时,无需使用javascript?
答案 0 :(得分:1)
如果你在侧边栏中粘贴三个div并且侧边栏的CSS位置为'relative',那么你可以设置三个内部div的CSS,如下所示:
#divTop {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
height: 120px;
}
#divMiddle {
position: absolute;
top: 120px;
bottom: 120px;
left: 0px;
right: 0px;
height: auto;
}
#divBottom {
position: absolute;
bottom: 0px; /* EDIT: corrected from 120px; */
left: 0px;
right: 0px;
height: 120px;
}
答案 1 :(得分:1)
我知道你接受了答案。我正在添加这个以供将来参考。您也可以使用css display:table
样式执行所需操作。在IE7中不支持,但......也许你不在乎。
使用容器div,然后使用三个子div,如下所示:
<div id='container'>
<div id='col1'> <h1>content for col1</h1> </div>
<div id='col2'> <h1>content for col2</h1> </div>
<div id='col3'> <h1>content for col3</h1> </div>
</div>
css看起来像这样:
#container {
display:table;
}
#container > div {
display:table-cell;
padding:4px 8px;
}
#col1 {
width:160px;
background-color:LightGreen;
}
#col2 {
background-color:LightBlue;
}
#col3 {
width:240px;
background-color:LightPink;
}