灵活的孩子高度会在其他孩子被移除时进行调整

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了灵活的孩子高度会在其他孩子被移除时进行调整相关的知识,希望对你有一定的参考价值。

我在一个有display : flexflex-direction : column的父母中有多个孩子。页面上有一个切换控件,它将删除其中一个子控件。

如果要删除任何子代,我希望桌子的高度占据所有剩余空间

html

<body>
<div class="parent">
  <div class="child">
    Child1
  </div>
  <div class="child">
    Child2
  </div>
  <div class="child">
    Child3
  </div>
  <div class="child">
    <div id="table">
      <div class="tr">
        <div class="td">Row 1, <br />Column 1</div>
        <div class="td">Row 1, Column 2</div>
        <div class="td" style="background:#888888;"></div>
      </div>
      <div class="tr">
        <div class="td">Row 2, <br />Column 1</div>

        <div class="td" style="background:#888888;"></div>
        <div class="td">Row 2, Column 2</div>
      </div>
    </div>
  </div>
</div>

css

   .parent{
    border: black 1px solid;
    height: 260px;
    display:flex;
    flex-direction:column;
  }

  .child{
    padding:5px;
    align

  }
  #table {
      display: table;
      height:160px;

  }
  .tr {
      display: table-row;
      padding: 5px;
  }
  .td {
      display: table-cell;
      padding: 5px;
      width: 150px;
      border: #000000 solid 1px;
      margin: 5px;
  }

CodeSandbox

[当前,如果我们删除Child2,则表格会向上移动,但高度不会调整。表格内容也有滚动。

答案

在包含表格的flex-grow: 1元素上添加div并在100%上设置#table高度

另一答案

赋予项目灵活性,以便它们可以拉伸以填充可用空间。

另一答案

justify-content: space-between; Css上使用Css属性.parent。>

另一答案

桌子的高度不能自行调节。首先,它具有固定的高度。

以上是关于灵活的孩子高度会在其他孩子被移除时进行调整的主要内容,如果未能解决你的问题,请参考以下文章

当 Unity 中的生命被移除时,游戏会冻结 [重复]

viewdidunload 根本没有被调用

在孩子的 -onExit 方法中停止声音?

颤动如何使具有灵活约束的容器的孩子居中

如何在 Angular2 中为被移除的组件捕获 onDestroy

python 堆排序