【发布时间】:2014-01-05 14:00:48
【问题描述】:
我想在一个高度可变的容器内有一个可滚动的 div(可垂直滚动)。我希望 div 占据 100% 的可用高度,如果需要显示滚动条。容器的高度由所有其他元素的高度组成(当然不包括这个可滚动的 div)。如何仅使用 CSS 来完成这项工作?显而易见的解决方案是将可滚动 div 的高度设置为使用 javascript 计算的容器高度。
HTML:
<div class="toolbar">
<div class="left">
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
</div>
<div class="right">
<ul>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
<li>List item description</li>
</ul>
</div>
</div>
CSS:
.toolbar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 1em;
background-color: lightgrey;
border-top: 1px solid grey;
height: 10em; /* I want to remove this */
}
ul {
display: inline-block;
}
.left {
float: left;
}
.right {
float: right;
height: 100%; /* I want this to take up only the possible parent height */
overflow-y: auto;
white-space: nowrap; /* Is this really needed? */
padding: 1em;
}
.toolbar:after {
content: "";
display: table;
clear: both;
}
JSFiddle:
【问题讨论】:
标签: css html height scrollable