用vue写一个在轮播图的外卖软件的首页
时间: 2023-12-04 07:02:39 浏览: 27
VUE开发一个图片轮播的组件示例代码
好的,下面是一个简单的Vue首页示例,包含轮播图和外卖推荐列表:
```
<template>
<div class="home">
<div class="slider">
<img v-for="(image, index) in sliderImages" :src="image" :key="index">
</div>
<div class="recommendations">
<div class="header">
<h2>外卖推荐</h2>
<button>更多</button>
</div>
<div class="list">
<div class="item" v-for="(item, index) in recommendedItems" :key="index">
<img :src="item.image">
<h3>{{ item.name }}</h3>
<p>{{ item.description }}</p>
<span>{{ item.price }}</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
sliderImages: [
'slider1.jpg',
'slider2.jpg',
'slider3.jpg'
],
recommendedItems: [
{
image: 'item1.jpg',
name: '麻辣烫',
description: '辣味十足,回味无穷',
price: '¥20'
},
{
image: 'item2.jpg',
name: '鸡腿饭',
description: '香嫩可口,营养丰富',
price: '¥25'
},
{
image: 'item3.jpg',
name: '披萨',
description: '奶酪味道浓郁,口感酥脆',
price: '¥30'
}
]
}
}
}
</script>
<style>
.home {
width: 100%;
max-width: 1200px;
margin: 0 auto;
}
.slider {
height: 400px;
overflow: hidden;
}
.slider img {
width: 100%;
height: 100%;
object-fit: cover;
}
.recommendations {
margin-top: 50px;
}
.header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.header button {
background: none;
border: 1px solid #000;
padding: 10px 20px;
border-radius: 20px;
}
.list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
grid-gap: 20px;
}
.item {
display: flex;
flex-direction: column;
align-items: center;
border: 1px solid #ddd;
border-radius: 10px;
padding: 20px;
}
.item img {
width: 100%;
height: 200px;
object-fit: cover;
margin-bottom: 10px;
}
.item h3 {
font-size: 20px;
margin-bottom: 10px;
}
.item p {
font-size: 16px;
margin-bottom: 10px;
}
.item span {
font-size: 18px;
font-weight: bold;
}
</style>
```
这个页面包含一个轮播图和一个外卖推荐列表。轮播图使用了一个`div`元素,并使用Vue的`v-for`指令来循环渲染图片。外卖推荐列表使用了一个`div`元素,并使用Vue的`v-for`指令来循环渲染推荐项。整个页面使用了CSS样式来布局和美化。你可以根据需要进行修改和优化。
阅读全文