【发布时间】:2017-08-31 09:06:30
【问题描述】:
我正在尝试使两个同级 div 元素具有相同的高度。它们中有一个溢出-y 和一个带有可变高度内容的滚动条。主 div 的内容也是可变高度的,具体取决于动态内容和浏览器宽度。主要内容 div 应显示其所有内容。左侧滚动面板应与主要内容的高度相同,无论浏览器的宽度或内容的高度如何,因此滚动条。
以前,我会使用 jQuery,检测窗口宽度变化并进行相应调整。但我试图在 React 应用程序中做到这一点.. 所以理想情况下它只会是 CSS。这可能吗?
HTML:
<div class="parent">
<div class="panel-with-scroll">
<div class="panel-inner">
<p>panel with scroll</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
<p>..</p>
</div>
</div>
<div class="content">
<p>content panel</p>
</div>
</div>
CSS:
.parent {
width: 600px;
display: flex;
}
.panel-with-scroll {
width: 200px;
height: 400px;
overflow-y: scroll;
background: pink;
}
.content {
background: yellow;
width: 400px;
height: 300px;
}
标记和 css 的示例在 JSBIN 中:
【问题讨论】:
-
这只是固定了整个事物的高度。我试图根据内容保持内容 div 的高度动态,并让滚动面板自行调整以匹配高度。
-
Flexbox 无法做到这一点。试试绝对定位:stackoverflow.com/q/34194042/3597276