注意:使用Vue.js和Vuetify.js进行功能和样式化
我使用v-for
动态生成卡组件,我想根据屏幕大小(sm / md / lg)将它们连续显示在1/3/4卡中。当我将它们放置在Vuetify的网格系统中时,使用v-flex
和v-layout
元素,卡被最小化,而不是移动到第二行。
还有其他方法吗?
<v-content>
<v-card class="d-inline-flex" v-for="company of companies" :key="company.name">
<v-layout >
<v-flex md6 lg6>
<img class="company-logo" src="../assets/img/example-logo.png" alt="company logo">
</v-flex>
<v-flex md6 lg6>
<v-card-title class="headline pl-0">{{company.name}}</v-card-title>
<article class="text-md-left text-lg-left">
<v-btn @click="selectDashboard(href('stats', company.name))" :value="company.name"><v-icon>local_offer</v-icon></v-btn>
<v-btn @click="selectDashboard(href('process', company.name))" :value="company.name"><v-icon>notifications</v-icon></v-btn>
<v-btn @click="selectDashboard(href('example', company.name))" :value="company.name"><v-icon>rate_review</v-icon></v-btn>
<v-btn @click="selectDashboard(href('alerts', company.name))" :value="company.name"><v-icon>explore</v-icon></v-btn>
<v-btn @click="selectDashboard(href('profile', company.name))" :value="company.name"><v-icon>room</v-icon></v-btn>
</article>
</v-flex>
</v-layout>
</v-card>
</v-content>
对于视觉效果,此代码显示图像宽度减小(但高度尺寸保持不变) - https://codepen.io/johnjleider/pen/aLXBez?editors=1111
答案 0 :(得分:5)
<v-flex>
网格最大值为12.因此,如果在xs12
上设置<v-flex xs12>
(超小断点),它将占用所有网格宽度,直到它到达下一个网格宽度断点(如果未设置另一个断点,则最低断点将应用于所有屏幕宽度)。然后设置<v-flex xs12 md6>
,现在当你达到中断点时,每张卡将占用6个网格空间,这将允许你并排有2张卡。设置lg3
将允许您在同一空间内放置4张卡片。
您可以看到它对您的示例进行此修改 https://codepen.io/twandy/pen/JrxamB?editors=1001
答案 1 :(得分:1)
对于Vuetify的v2版,接受的答案对我不起作用。
现在我们可以使用<v-col>
,您将执行以下操作。
<v-row>
<v-col cols="12" sm="3" md="4" v-for="(something, index) in somethingsArray" :key="index" >
<my-component :my-data="something" />
</v-col>
</v-row>
其中cols="12"
与xs="12"
相同,并且该列将占据全部12个空格。
从最小的屏幕开始放大尺寸。然后在小屏幕上,每列将占用4个空格,导致3列;然后在中型和大屏幕上,将使用3个空格,导致4列。
|__|__|__|__|__|__|__|__|__|__|__|__| 12 spaces in the grid
|-----------------------------------| <-cols=12 (1 column)
|--------|--------|--------|--------| <-sm=3 (4 columns)
|-----------|-----------|-----------| <-md=4 and larger (3 columns)