如何让 Vuetify v-flex 占据剩余的可用空间

4 css flexbox vue.js vuetify.js

我在 v 布局(填充高度)内有两个 Flex。问题:第二个 Flex 与预期的末端对齐,但第一个 Flex 没有占用剩余的可用空间。

  <v-container>
      <v-layout row wrap fill-height>
        <v-flex
          xs12
          class="white--text green darken-3"
        >
            <v-card-text>I should occupy rest of the available space</v-card-text>
        </v-flex>
        <v-flex
          xs12
          align-self-end
          class="white--text blue darken-3"
        >   

        </v-flex>
      </v-layout>
    </v-container>
Run Code Online (Sandbox Code Playgroud)

代码笔:

https://codepen.io/adatdeltax/pen/MWaapYR?editors=1000

我是 vuetify 的新手,上面的 codepen 是我到目前为止所尝试过的,有什么方法可以让 flex1 占用剩余的可用空间。

Zim*_*Zim 5

使用Vuetify 1.5

使用column然后移除xs12支柱。然后收缩/增长将按预期工作(没有额外的 CSS 或内联样式):

<div id="app">
  <v-app id="inspire">
    <v-container>
      <v-layout column fill-height>
        <v-flex
          grow
          class="white--text green darken-3"
        >
            <v-card-text>
              I should occupy rest of the available space
            </v-card-text>
        </v-flex>
        <v-flex
          shrink
          align-self-end
          class="white--text blue darken-3"
        >   
            <v-card-text>
              I should stay here
            </v-card-text>
        </v-flex>
      </v-layout>
    </v-container>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)

1.5 演示:https://codeply.com/p/JjD6UZdtjU


使用Vuetify 2.x

工作原理相同,除了v-row, v-col使用而不是v-layout, v-flex

<div id="app">
    <v-app>
        <v-container class="fill-height">
            <v-row class="no-gutters flex-wrap flex-column fill-height">
                <v-col cols="auto" class="grow pink pa-2">
                    <h1>Content</h1>
                </v-col>
                <v-col cols="auto" class="shrink blue pa-2"> Footer </v-col>
            </v-row>
        </v-container>
    </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)

2.x 演示:https://codeply.com/p/07CA4jZNAl