【发布时间】:2018-09-17 07:41:12
【问题描述】:
我有一个完全居中的 div (itemSoldOutView)。在这个 div 里面还有另一个 div (itemSoldOutViewContent),它的最大高度应该是父 div 的 90%。这样,如果内容太多,它就会滚动(注意:只有内部的 CONTENT-div 应该滚动)。 但这不起作用。如何正确设置高度?
这是我的代码 (JSFIDDLE):
#shadow {
position:fixed;
left:0;
top:0;
width:100%;
height:100%;
background: darkgray;
z-index:2;
}
#itemSoldOutView {
background: white;
position: absolute;
padding: 15px;
max-height: 80%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#itemSoldOutViewContent {
overflow: auto;
max-height: 90%;
}
#itemSoldOutViewCancel {
position: fixed;
right: 5px;
top: 5px;
width: 16px;
height: 16px;
background: red;
}
<div id="shadow">
<div id="itemSoldOutView">
<div id="itemSoldOutViewTitle">
<div id="itemSoldOutViewCancel"></div>
<h3>This is the title text:</h3>
</div>
<div id="itemSoldOutViewContent">
// much content
</div>
</div>
</div>
【问题讨论】:
-
实际上它正在工作,但是您没有考虑到内部 DIV 不是从其父 DIV 的顶部开始的事实,它从更下方开始,因为标题文本.所以你真正想要内部 DIV 做的是占据 90% 的高度 - 标题文本的计算高度,加上内部 DIV 上方涉及的任何填充/边距。