uniapp开发小程序,实现堆叠卡片轮播图
在uniapp中实现堆叠卡片轮播图,可以使用swiper
组件来控制轮播,并通过CSS样式来实现卡片堆叠效果。以下是一个简单的示例:
<template>
<view class="swiper-container">
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
<swiper-item v-for="(item, index) in cards" :key="index">
<view class="card" :style="{ backgroundImage: 'url(' + item.image + ')' }">
<view class="card-content">
<text>{{ item.title }}</text>
<text>{{ item.subTitle }}</text>
</view>
</view>
</swiper-item>
</swiper>
</view>
</template>
<script>
export default {
data() {
return {
indicatorDots: true,
autoplay: true,
interval: 5000,
duration: 500,
cards: [
{ title: '卡片1', subTitle: '这是一个堆叠的卡片', image: 'path/to/your/image.jpg' },
{ title: '卡片2', subTitle: '这是另一个堆叠的卡片', image: 'path/to/your/image.jpg' },
// 更多卡片...
]
};
}
};
</script>
<style>
.swiper-container {
height: 300px;
width: 100%;
}
.card {
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
background-size: cover;
position: relative;
transform: translateY(-10px);
}
.card:first-child {
transform: translateY(0);
}
.card-content {
background-color: rgba(255, 255, 255, 0.8);
padding: 10px;
bottom: 10px;
position: absolute;
width: 100%;
}
/* 其他样式 */
</style>
在这个例子中,我们使用了swiper
组件来创建轮播,并通过v-for
指令来循环渲染卡片。每个卡片使用一个view
组件来展示背景图片和内容,通过CSS样式中的transform
属性来实现堆叠效果。
请注意,你需要替换path/to/your/image.jpg
为你的实际图片路径,并根据需要调整.card
和.card-content
的样式以适应你的设计需求。
评论已关闭