你在找这个吗:小提琴
我认为这只有在您设置高度时才有可能#body
。否则它只是流动,overflow: scroll
对它或对它没有影响overflow: hidden
。#container
并且要设置它的高度,你必须知道/设置它的高度#titlebar
。
我认为jQuery
可以轻松解决这个高度问题。
CSS
#container {
height: 250px;
border: solid;
/*overflow: hidden*/ /* <-- not really needed if height of sub-elements*/
/* is <= child of container */
}
#titlebar {
height: 60px;
background: gray;
}
#body {
height: 190px;
overflow-y: scroll;
}
编辑
我认为block
仅通过 CSS 使元素保持剩余高度是不可能的,因为除非指定,否则元素会占用它们需要的高度而不是可用的高度。
如果您可以使用脚本,请参阅此小提琴
jQuery
var $body = $('div#body');
var h = $body.parent('div').height()
- $body.siblings('div#titlebar').height();
$body.height(h);
CSS
#container {
height: 250px;
border: solid;
overflow: hidden
}
#titlebar {
background: gray;
}
#body {
overflow-y: scroll;
}