我遇到了一個似乎很常見的問題,但我可以克服它。
我有一個 API 查詢,它傳回一個物件清單。
我想將我的頁面顯示為填充內容的卡片網格。
我希望網格有 5 列,行數會適應清單中元素的數量。
我可以弄清楚如何實現它。
例如:我有一個查詢回傳
items[ {"id":1,"title":"title1,"description":"description1"} {"id":2,"title":"title2,"description":"description2"} {"id":3,"title":"title3,"description":"description3"} {"id":4,"title":"title4,"description":"description4"} {"id":5,"title":"title5,"description":"description5"} {"id":6,"title":"title6,"description":"description6"} {"id":7,"title":"title7,"description":"description7"} ]
我的網格由 7 個元素組成,系統地有 5 個列和自適應行,例如:
如果我的查詢傳回例如 14 個元素,佈局應調整為如下所示:
我能得到的最接近的程式碼是。
<v-container class="mt-2"> <h1>Top Rated views</h1> <v-row v-for="n in gridDivider" :key="n" class="n === 1 ? 'mb-6' : ''"> <v-col v-for="(item,index) in Items" :key="index"> <v-card class="mx-auto" max-width="300"> <v-img class="white--text align-end" height="200px" src="item.avatar" > <v-card-title>anything as text</v-card-title> </v-img> <v-card-subtitle class="pb-0"> Number 10 </v-card-subtitle> <v-card-text class="text--primary"> <div>Whitehaven Beach</div> <div>Whitsunday Island, Whitsunday Islands</div> </v-card-text> </v-card> </v-col> </v-row> </v-container>
感謝您的幫助
P粉1436404962024-01-30 00:16:19
如果你這樣改變 v-row
和 v-col
宣告就可以完成:
...
並使用 CSS 網格佈局<建立 CSS 類別 <创建 CSS 类 Five-cols
/a>:
.five-cols { display: grid; grid-template-columns: repeat(5, 1fr); }
範例CodePen
#