Needing to build carousels have caused me some of the most painful moments of my freelance career. I have probably seen every version of them that designers can think of.
So, before you use a carousel: Have you checked shouldiuseacarousel.com? 🙃
No, but seriously: If you’re sure you need a carousel, there are a lot of great options to choose from. There are some awesome libraries built with and for Vue that evolve nicely, as well as wrappers for popular JS libraries.
I'll keep the list updated, as I work my way through new components. If you think I should include one in particular, reach out on Twitter @MadeWithVueJS!
Flicking is a flexible and extendable carousel component. It's based on TypeScript and comes with an official Vue 2 + 3 wrapper.
It offers various settings to optimize performance (always a concern with carousels) as well as animations and behaviours you can choose from.
It's pretty flexible, so you can use it for all kinds of custom sliding animations (see these demos!).
Vueper Slides is a responsive and touch-ready slideshow & carousel component, built with Vue. It’s super customizable, supports single and multiple slides and lets you fill it with images, videos as well as HTML / Vue directives. You can also use some fun effects, like a parallax or 3D-effect.
I’m not a fan of the feel of the default drag behaviour, but it can be customized by adjusting the dragging distance.
It supports Vue 2 and 3.
Super Vueper! (Sorry for that.)
This is not really a slider, or is it? Fullpage.js lets you easily create fullscreen scrolling sites, and it has an official Vue wrapper. It has a sweet set of basic functionality (supporting f.ex. horizontal and vertical scrolling slides) but you can also enhance it with extensions for more effects like parallax views.
It’s incredibly easy to get started with, and the docs are great. I have used it to quickly prototype presentations, for example.
It’s free for open-source projects, and offers paid licenses for commercial projects.
Swiper is a slider component for mobile, focusing on touch support and native behaviour. It's part of the cross-platform frameworks Framework7 and Ionic.
It's super flexible and comes with a lot of useful features out of the box, including transition animations, infinity mode or autoplay. The rich API lets you create your own pagination, navigation or effects.
vue3-carousel is a lightweight Vue 3 carousel component supporting touch & mouse dragging, autoplay, infinity scrolling, gallery views and more. It definitely offers all the features you need for basic use cases and is being actively developed.
The component is open-source, currently only supporting Vue 3.
Vue Carousel 3D is a great choice if you need a slider to look like a cover flow component.
It offers a lot of customization possibilities when it comes to size, scaling, spacing and perspective, so it makes designers happy! It also handles HTML content as well as images.
3D-mode can also be disabled if you need a flat slider in between.