CSS - Flexbox div匹配另一个div的高度[重复]

Posted

技术标签:

【中文标题】CSS - Flexbox div匹配另一个div的高度[重复]【英文标题】:CSS - Flexbox div match height of another div [duplicate] 【发布时间】:2020-02-15 00:20:44 【问题描述】:

.d1 
  display: flex;


.d2 
  flex: 1;
  display: flex;
  flex-direction: column;


.d3 
  background-color: lightblue;
  margin: 5px;
<div class="d1">
  <div class="d2">
    <div class="d3">Test1</div>
    <div class="d3">Test2</div>
  </div>
  <div class="d2">
    <div class="d3">Test3</div>
    <div class="d3">Test4<br>Test4</div>
  </div>
</div>

在上面的代码中,我有两列宽度相同,每列有 2 个divs。但是第 4 个div 是写Test4&lt;br&gt;Test4 的地方,因此比其他的要高。如何使第二个div 的高度始终与第四个匹配?类型

【问题讨论】:

【参考方案1】:

只需使用 CSS 将 height: 100%; 分配给第二个 div。

.d1 
  display: flex;


.d2 
  flex: 1;
  display: flex;
  flex-direction: column;


.d3 
  background-color: lightblue;
  margin: 5px;


.d1 .d2:first-child .d3:last-child 
  height: 100%;
<div class="d1">
  <div class="d2">
    <div class="d3">Test1</div>
    <div class="d3">Test2</div>
  </div>
  <div class="d2">
    <div class="d3">Test3</div>
    <div class="d3">Test4<br>Test4</div>
  </div>
</div>

【讨论】:

【参考方案2】:

您可以使用flex-grow 来占用剩余的空格。 在这种情况下,d2 的高度相同。 要回答您的问题,请仅在 test 2 类上使用 flex-grow 或修改您的结构,以便 test2test4 应属于同一父级。

.d1 
  display: flex;


.d2 
  flex: 1;
  display: flex;
  flex-direction: column;


.d3 
  background-color: lightblue;
  margin: 5px;
  flex-grow: 1;
<div class="d1">
  <div class="d2">
    <div class="d3">Test1</div>
    <div class="d3">Test2</div>
  </div>
  <div class="d2">
    <div class="d3">Test3</div>
    <div class="d3">Test4<br>Test4</div>
  </div>
</div>

【讨论】:

以上是关于CSS - Flexbox div匹配另一个div的高度[重复]的主要内容,如果未能解决你的问题,请参考以下文章

CSS Flexbox - 在两个 div 之间居中一个 div [重复]

在 CSS 悬停事件中,我可以更改另一个 div 的样式吗? [复制]

CSS Flexbox 样式根据元素数量变化

css 使用flexbox中心div

CSS Flexbox:flex-wrap一个div到两行,每行都有单独的增长

Bootstrap 4 div(使用 btn 类)中的文本垂直对齐,使用 CSS Grid(并且没有 flexbox)时没有固定高度