vue-stacked-carousel
stacked carousel with perspective
1,615
1
| Install | |
|---|---|
npm install vue-stacked-carousel |
|
| Latest Version: | 1.0.14 |
| Vue: | 2 |
| License: | MIT |
| Last Updated: | Jun 15, 2018 |
| Links: | GitHub · npm |
Maintainer: fluksikarton
vue-stacked-carousel
css customizable stacked carousel, Live Demo
Installation
# install dependencies
npm install vue2-touch --save
npm install vue-stacked-carousel --save
Basic Usage
Use Vue2Touch
import Vue2Touch from 'vue2-touch'
Vue.use(Vue2Touch)
import { VueStackedCarousel } from 'vue-stacked-carousel';
export default {
components: {
VueStackedCarousel
}
};
<vue-stacked-carousel :items="vueStackedCarouselItems">
<div slot-scope="{ item, index, opacity }" class="card">
<div class="inner-card" :style="`opacity: ${opacity}`">
<h3>{{item.title}}</h3>
<p>{{item.description}}</p>
<span>item - {{index}}</span>
</div>
</div>
<span slot="arrow-left">arrow</span>
<span slot="arrow-right">arrow</span>
</vue-stacked-carousel>
data() {
return {
vueStackedCarouselItems: [
{
title: 'A',
description: 'Something else here',
},
{
title: 'B',
description: 'Something else here',
},
{
title: 'C',
description: 'Something else here',
},
{
title: 'D',
description: 'Something else here',
},
{
title: 'E',
description: 'Something else here',
},
],
};
},
<style>
.card {
width: 327px;
border-radius: 5px;
background-color: #ffffff;
box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.1);
box-sizing: border-box;
}
.inner-card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 20px;
transition: opacity .3s linear;
user-select: none;
}
.vue-stacked-carousel-arrow.arrow-left {
left: -70%;
}
.vue-stacked-carousel-arrow.arrow-right {
right: -70%;
}
</style>
Props
| Prop | Data Type | Required | Description |
|---|---|---|---|
items |
Array | true | Your array with data |
itemDepthRatio |
Number | Depth in pixels from each item default (120px) | |
itemDistance |
Number | Distance in pixels between each item default (60px) | |
transitionDuration |
Number | Duration of animation between items (0.3 default) | |
transitionWait |
Boolean | Default is (true), if set to false, it will not wait the transition to end on arrow click | |
transitionTimingFunction |
String | default (ease-in-out) | |
arrowLeftClass |
String | default (arrow-left) | |
arrowRightClass |
String | default (arrow-right) |
Author
© [Georgi Antonov]
Related Packages
vue-carousel-lite
Fast, Lightweight Vue Carousel With Touch, Mouse, Keyboard, Wheel & SSR support
5,144
0
markdown-to-jsx
A very fast and versatile markdown toolchain. AST, React, React Native, SolidJS,...
214,042,213
2,394
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.14 | ^2.5.16 | MIT | |
| 1.0.13 | ^2.5.16 | MIT | |
| 1.0.12 | ^2.5.16 | MIT | |
| 1.0.11 | ^2.5.16 | MIT | |
| 1.0.10 | ^2.5.16 | MIT | |
| 1.0.9 | ^2.5.16 | MIT | |
| 1.0.8 | ^2.5.16 | MIT | |
| 1.0.7 | ^2.5.16 | MIT | |
| 1.0.6 | ^2.5.16 | MIT | |
| 1.0.5 | ^2.5.16 | MIT | |
| 1.0.4 | ^2.5.16 | MIT | |
| 1.0.3 | ^2.5.2 | MIT | |
| 1.0.1 | ^2.5.2 | MIT | |
| 1.0.0 | ^2.5.2 | MIT |