Vue Responsive Carousel Component
In this post I am going to share awesome vue responsive carousel component make auto play slider with small thumbnail slider. It’ll give your image list a awesome gallery look to watch image sideshow on your web app.
HTML
CSS
#app {
font-family: "Lato", sans-serif;
font-weight: 300;
margin: 0 auto;
max-width: 900px;
padding: 30px;
}
.main {
margin-bottom: 30px;
}
.thumbnails {
margin: 0 -5px;
width: calc(100% + 10px);
}
.agile__nav-button {
background: transparent;
border: none;
color: #ccc;
cursor: pointer;
font-size: 24px;
transition-duration: 0.3s;
}
.thumbnails .agile__nav-button {
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.thumbnails .agile__nav-button--prev {
left: -45px;
}
.thumbnails .agile__nav-button--next {
right: -45px;
}
.agile__nav-button:hover {
color: #888;
}
.agile__dot {
margin: 0 10px;
}
.agile__dot button {
background-color: #eee;
border: none;
border-radius: 50%;
cursor: pointer;
display: block;
height: 10px;
font-size: 0;
line-height: 0;
margin: 0;
padding: 0;
transition-duration: 0.3s;
width: 10px;
}
.agile__dot--current button, .agile__dot:hover button {
background-color: #888;
}
.slide {
align-items: center;
box-sizing: border-box;
color: #fff;
display: flex;
height: 450px;
justify-content: center;
}
.slide--thumbniail {
cursor: pointer;
height: 100px;
padding: 0 5px;
transition: opacity 0.3s;
}
.slide--thumbniail:hover {
opacity: 0.75;
}
.slide img {
height: 100%;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: center;
object-position: center;
width: 100%;
}
VueJs
Vue.use(VueAgile);
app = new Vue({
el: '#app',
components: {
agile: VueAgile },
data() {
return {
asNavFor1: [],
asNavFor2: [],
options1: {
dots: false,
fade: true,
navButtons: false },
options2: {
autoplay: true,
centerMode: true,
dots: false,
navButtons: false,
slidesToShow: 3,
responsive: [
{
breakpoint: 600,
settings: {
slidesToShow: 5 } },
{
breakpoint: 1000,
settings: {
navButtons: true } }] },
slides: [
'https://images.unsplash.com/photo-1453831362806-3d5577f014a4?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ',
'https://images.unsplash.com/photo-1496412705862-e0088f16f791?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ',
'https://images.unsplash.com/photo-1506354666786-959d6d497f1a?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ',
'https://images.unsplash.com/photo-1455619452474-d2be8b1e70cd?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ',
'https://images.unsplash.com/photo-1504674900247-0877df9cc836?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ',
'https://images.unsplash.com/photo-1472926373053-51b220987527?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ',
'https://images.unsplash.com/photo-1497534547324-0ebb3f052e88?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&w=1600&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ'] };
},
mounted() {
this.asNavFor1.push(this.$refs.thumbnails);
this.asNavFor2.push(this.$refs.main);
} });
See live demo and download source code.
DEMO | DOWNLOAD
This awesome script developed by lukaszflorczak. Visit their official repository for more information and follow for future updates.
