Vuetify网格布局-如何填充网格中元素的高度

Cat*_*nin 5 grid-layout flexbox vue.js vuetify.js

我正在尝试创建网格布局,但是遇到了麻烦。

我要创建的布局如下图所示。显示起来比解释容易。

  • 侧面板卡布局,其中将填充项目列表。一种
  • 2元素顶面板。
  • 一个大的主面板可以填充下面的剩余空间。

当前布局

我尝试使用vuetify网格布局系统来获取它,但无法很好地填充所有空间。我的代码如下。

有没有一种创建此网格布局的好方法?

<v-container fluid grid-list-md box>
  <v-layout row>

    <v-flex d-flex xs3>
      <v-layout row wrap>
        <v-card color="orange lighten-2" tile flat>
          <v-card-text>{{ lorem.slice(0, 90) }}</v-card-text>
        </v-card>

        <v-divider></v-divider>

        <v-card color="orange lighten-2" tile flat>
          <v-card-text>{{ lorem.slice(0, 90) }}</v-card-text>
        </v-card>

        <v-divider></v-divider>

        <v-card color="orange lighten-2" tile flat>
          <v-card-text>{{ lorem.slice(0, 90) }}</v-card-text>
        </v-card>

        <v-divider></v-divider>

        <v-card color="orange lighten-2" tile flat>
          <v-card-text>{{ lorem.slice(0, 90) }}</v-card-text>
        </v-card>
      </v-layout>

    </v-flex>

    <v-flex d-flex xs9>

      <v-layout row wrap>
        <v-layout row>
          <v-flex d-flex>
            <v-card color="blue-grey" dark tile flat>
              <v-card-text>{{ lorem }}</v-card-text>
            </v-card>
          </v-flex>

          <v-flex d-flex>
            <v-card color="blue-grey" dark tile flat>
              <v-card-text>{{ lorem }}</v-card-text>
            </v-card>
          </v-flex>
        </v-layout>

        <v-layout row>
          <v-flex d-flex xs9>
            <v-card color="blue-grey" dark tile flat>
              <v-card-text>{{ lorem }}</v-card-text> 
            </v-card>
          </v-flex>
        </v-layout>
      </v-layout>

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

jor*_*anw 5

您可以通过使用fill-height属性和断点来实现该格式。具有<v-layout row wrap>将迫使较大的框xs12占据整个下一行,因此您不必创建自己的布局。

    <v-layout row wrap>
        <v-flex d-flex xs6>
          <v-card color="blue-grey" dark tile flat>
            <v-card-text>{{ lorem }}</v-card-text>
          </v-card>
        </v-flex>

        <v-flex d-flex xs6>
          <v-card color="blue-grey" dark tile flat>
            <v-card-text>{{ lorem + lorem }}</v-card-text>
          </v-card>
        </v-flex>

        <v-flex fill-height d-flex xs12>
         <v-card color="blue-grey" dark tile flat>
           <v-card-text>{{ lorem + lorem + lorem}}</v-card-text>
         </v-card>
        </v-flex>
    </v-layout>
Run Code Online (Sandbox Code Playgroud)

这是一个显示其实际操作的代码笔

  • 嵌套网格是必需的。参见https://vuetifyjs.com/en/framework/grid#nested-grid (2认同)