【问题标题】:Flex column layout for new vuetify API新 vuetify API 的 Flex 列布局
【发布时间】:2021-02-09 10:00:13
【问题描述】:

谁能告诉我如何使用行和列而不是 v-layout 和 v-flex 来调整新的 vuetify 语法的代码?我尝试了很多,但无法让它工作。

<div id="app">
  <v-app id="inspire">
    <v-container fluid fill-height class="grey lighten-5 flex-column">
      <v-layout column no-gutters style="width: 100%">
        <v-flex xs10 class="red pa-4">
            <div class="text-h4">1st Layout</div>
        </v-flex>
        <v-flex xs2 class="yellow pa-4">
            <div class="text-h4">2nd Layout</div>
        </v-flex>
      </v-layout>
    </v-container>
  </v-app>
</div>

链接到codepen: https://codepen.io/anindyamanna/pen/oNLBQbW?editable=true&editors=101%3Dhttps%3A%2F%2Fvuetifyjs.com%2F

【问题讨论】:

    标签: vuetify.js


    【解决方案1】:

    v-layout 替换为v-row,然后将v-flex 替换为v-col,如docs 中所述。 我假设你想实现两列并排放置,占据整个宽度。

    <v-row style="width: 100%;" no-gutters>
      <v-col cols="10" class="red pa-4"><div class="text-h4">1st Layout</div></v-col>
      <v-col cols="2" class="yellow pa-4"><div class="text-h4">2nd Layout</div></v-col>
    </v-row>
    

    由于您想将 div 放在彼此的顶部,因此您必须将 d-flexflex-column 添加到您的 &lt;v-row&gt; 中,这样它就会有一个 display: flex。然后,您需要将&lt;v-col&gt; 的最大宽度覆盖为100%;

    <v-row class="d-flex flex-column" style="width: 100%;" no-gutters>
      <v-col cols="10" class="red pa-4" style="max-width: 100%">
        <div class="text-h4">1st Layout</div>
      </v-col>
      <v-col cols="2" class="yellow pa-4" style="max-width: 100%">
        <div class="text-h4">2nd Layout</div>
      </v-col>
    </v-row>
    

    这是一个演示:https://codepen.io/blackraspberry08/pen/OJXmLpR

    【讨论】:

    • 谢谢!但这与我的输出完全相反。我想要垂直分离。不是水平的。 :) 请检查我的代码笔。我现在还在我的问题中添加了一张图片。
    • 我猜错了,我很抱歉。我现在更新了我的答案,以便两个 div 彼此重叠。
    • 非常感谢!有用。但是我有点困惑,为什么新的 api 需要更多的工作和自定义 css 解决方案来做基本的事情,以及为什么它比旧的 api 更好。对于像我这样的初学者,在这种情况下,旧的 api 似乎更易于使用。
    猜你喜欢
    • 2021-04-22
    • 2020-09-16
    • 2020-07-17
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    相关资源
    最近更新 更多