我正在尝试制作一个包含三个 div 的 div。第一个和最后一个 div 应根据其内容调整大小。如果它们包含 10 行文本,它们应该足够大以显示它们而不会溢出或滚动。
中间的 div 应该使用剩余的空间,并且当没有足够的空间来显示它的全部内容时应该使用滚动条。
我得到了一个部分解决方案,其中第一个和第三个块是固定的,第三个块将使用剩余的大小。我不确定如何跳转以允许根据其内容调整第一个和第三个块的大小。
任何有关如何做到这一点的提示将不胜感激。
这是我到目前为止所拥有的:
<html>
.outerDiv{
/* The contents of this don't really matter */
position: absolute;
height:400px;
top:25px;
}
.innerA{
position: absolute;
top:0ex;
height:3ex; /* How can I set this based on the contents of the div? */
}
.innerB{
position: absolute;
top: 4ex; /* This needs to be based on the size of innerA */
bottom: 4ex; /* This needs to be based on the size of innerC */
overflow-y: scroll;
}
.innerC{
position: absolute;
height:3ex; /* How can I set this based on the contents of the div? */
bottom:0ex;
}
</style>
<div class="outerDiv" style="width:100%; border:1px solid #888888;">
<div class="innerA" style="width:70%; border:1px solid #000088;"></div>
<div class="innerB" style="width:60%; border:1px solid #008800;">a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>a<br/>vv</div>
<div class="innerC" style="width: 50%;border:1px solid #001100;"></div>
</div>
</html>
我的偏好是使用以下方法解决问题:
- CSS & HTML
- 纯和标准 JS
- 带道场的 JS
- 其他方法