【发布时间】:2017-09-30 06:54:28
【问题描述】:
我需要三个子 div 彼此高度相同,并且作为父 div。一个 div 的内容被设置为在用户交互时发生变化,并且由此产生的任何高度变化都应该驱动父级或其他子级或两者的高度。我认为这可以通过 flex 实现。
我已尝试实施针对相同问题的答案,但到目前为止还没有成功。谁能发现我做错了什么?我正在使用 Firefox,并且不需要它在其他浏览器中运行此原型版本,但当然,如果它确实会在以后节省时间。
我已经尝试过 'position: absolute' 和 'display: table' 最终接近但没有任何乐趣。无论如何,我真的很喜欢 flex 方法。
div#filterRow {
min-height: 80px;
display: flex;
border: 2px solid red;
}
div#filterRow div.selectHolder {
border: 2px solid blue;
border-right: 0;
flex: auto;
height: 100%;
padding: 10px;
}
div#filterRow div.selectHolder div {
vertical-align: top;
}
div#filterRow div.selectHolder:last-child {
border-right: 1px solid lightgray;
}
div#filterRow div h1 {
margin: 0;
margin-bottom: 10px;
}
div#filterRow div div {
margin-right: 5px;
}
div#filterRow div#filters {
width: 800px;
}
div#filterRow div#highlight {
width: 300px;
}
div#filterRow div#granularity {
width: 400px;
}
div.fullwidth {
width: 100%;
}
<div class="fullwidth dispTR" id="filterRow">
<div class="selectHolder" id="filters">
<h1>Filters longer to make tall</h1>
</div>
<div class="selectHolder" id="highlight">
<h1>Highlight</h1>
</div>
<div class="selectHolder" id="granularity">
<h1>Group</h1>
</div>
</div>
此处示例:https://jsfiddle.net/rt80wd6r/2/
感谢您的帮助。我敢肯定这是显而易见的。
以下是其他问题:
【问题讨论】: