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!
Vue Agile is a simple, responsive and touch-friendly component with all the essential features of a slider. Create fullscreen sliders, linked slideshows or other customized versions. You can also define separate settings for different breakpoints.
It has Nuxt.js SSR support and no jQuery dependency.
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.)
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.
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, else you’d have to buy a license.