离子4离子行填充剩余高度

时间:2018-12-05 18:12:28

标签: ionic-framework ionic4

如何注释ion-row,使其充满剩余空间?

对于下面的示例,黄色行“内容”应展开,直到占据所有剩余的(绿色)空间为止。

<ion-grid style="background-color: green; height: 100%;">
  <ion-row>
    <ion-col text-center style="background-color: purple;">
      <p>Example text</p>
    </ion-col>
  </ion-row>

  <ion-row>
    <ion-col text-center style="background-color: yellow">
      <p>Content</p>
    </ion-col>
  </ion-row>

  <ion-row>
    <ion-col text-center style="background-color: blue;">
      <p>Example text</p>
    </ion-col>
  </ion-row>
</ion-grid>

Colorful row example

Bootstrap也被问到类似的问题,并通过flex-grow解决了。请参阅:Bootstrap 4 row fill remaining height

但是我们可以在保持行/列语法的同时扩展行,而又不引入更多的弹性框吗?

1 个答案:

答案 0 :(得分:2)

可以用display: flex; flex-flow: column注释网格容器,并用flex-grow: 1注释拉伸行。

<ion-grid style="background-color: green; height: 100%; display: flex; flex-flow: column;">
  <ion-row>
    <ion-col text-center style="background-color: purple;">
      <p>Example text</p>
    </ion-col>
  </ion-row>

  <ion-row style="flex-grow: 1;">
    <ion-col text-center style="background-color: yellow">
      <p>Content</p>
    </ion-col>
  </ion-row>

  <ion-row>
    <ion-col text-center style="background-color: blue;">
      <p>Example text</p>
    </ion-col>
  </ion-row>
</ion-grid>

然后它将如下所示: solution

当网格压缩(而不是拉伸)时,行在彼此内部移动。为了防止这种情况,请在每行上使用flex-shrink: 0;