vue 一个页面中展示九宫格图片并进行切换
时间: 2024-02-12 21:06:43 浏览: 168
好的,这个问题可以使用Vue的v-for指令和v-bind指令,以及CSS的flex布局来实现。下面是一个简单的示例代码:
```
<template>
<div class="grid-container">
<div v-for="(image, index) in images" :key="index" class="grid-item">
<img :src="image" alt="image">
</div>
</div>
</template>
<script>
export default {
data() {
return {
images: [
'image1.jpg',
'image2.jpg',
'image3.jpg',
'image4.jpg',
'image5.jpg',
'image6.jpg',
'image7.jpg',
'image8.jpg',
'image9.jpg'
],
currentIndex: 0
}
},
mounted() {
setInterval(() => {
this.currentIndex = (this.currentIndex + 1) % this.images.length
}, 2000)
}
}
</script>
<style>
.grid-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-content: space-between;
width: 500px;
height: 500px;
padding: 10px;
}
.grid-item {
width: 30%;
height: 30%;
border: 1px solid black;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
}
</style>
```
上面的代码中,使用了一个images数组来存储九宫格中的图片路径,使用v-for指令来遍历数组,将每个图片展示在一个带有边框的div中。使用v-bind指令将每个div的key属性绑定为index,方便Vue进行元素的跟踪和更新。使用CSS的flex布局实现了九宫格的排列,并使用了一个计时器来切换展示的图片。你可以根据实际需要修改图片的路径和CSS样式来适配你的项目。
阅读全文