【发布时间】:2014-07-22 13:26:44
【问题描述】:
我有两个 div,“外部”和“内部”,如下所示:
http://jsfiddle.net/WVd9Q/2/
[HTML]
<div class="outer">
<div class="inner">
<p id="content">Lorem ipsum dolor sit amet...</p>
</div>
</div>
[CSS]
.outer {
width:100%;
height:100%;
left:0;
top:0;
position:absolute;
overflow-y:scroll;
z-index: 100;
}
.inner {
position:absolute;
bottom:0;
left:0;
right:0;
width:100%;
min-width:400px;
max-width:800px;
margin: auto;
}
如您所见,外部覆盖整个页面,内部与底部对齐。
但是当您单击 [使其变长] 按钮使内部变长时,外部不会显示滚动条。
如果我按预期将 .inner 中的 bottom:0 更改为 top:0,它会显示滚动条。
如何显示底部对齐内部的外部滚动条?
附加
好的,this fiddle 是我想要的最终形式。谢谢!
[HTML]
<div class="outer">
<div class="inner">
<div class="content">
<p id="text">Lorem ipsum dolor sit amet...</p>
</div>
</div>
</div>
[CSS]
body {
overflow-y:hidden;
}
.outer {
width:100%;
height:100%;
left:0;
top:0;
position:absolute;
z-index: 100;
}
.inner {
position:absolute;
bottom:0;
left:0;
right:0;
width:100%;
max-height:100%;
overflow-y:auto;
}
.content {
min-width:400px;
max-width:800px;
margin: auto;
}
【问题讨论】:
-
因为 .inner 是绝对定位的,它在 .outer 中没有大小。在 .inner 上执行 "max-height: 100%; overflow-y: scroll" 并从外部移除滚动条。另外,提供一个例子/小提琴/codepen
-
我明白了。最大高度是我错过的。感谢您的解决方案。
-
很高兴能帮上忙 :-)