Every carousel has its own style, so there is no single method for building one. But I’ve collected ten of the best open-source code snippets that you can use as templates for creating your own carousels. The designs range in style and behavior, but they all work using only CSS code.
- Netflix Show Carousel by Josh Hunt
- Annotated Linear Carousel by Paul Noble
- Fading Carousel by Dang Van Thanh
- Responsive Slideshow by Vo Tuan Trung
- CSS Testimonials Slider by Mahesh Ambure
- Picture Frame by Ruediger Stursberg
- Dark UI by Damian Drygiel
- CSS Image Carousel by James Holderness
- Pure CSS Carousel by Hélio Marcondes
- Text Carousel by Cassidy
Netflix Show Carousel by Josh Hunt
This Netflix carousel is pretty unique with a hover-to-zoom animation effect for each video. The links in the carousel don’t go anywhere but you could easily embed these to work with videos.
Since this version only uses CSS, it’s tougher to include dynamic effects like video modal windows. But you can still use this to create a slider that functions well in all browsers.
Annotated Linear Carousel by Paul Noble
Some carousels use annotations to add subtitles and extra context over each slide. You can replicate this effect by cloning this pen.
There are no arrows or dot navigation elements, so the entire thing is click or touch-controlled. Just click to the right or left of the carousel, and you’ll immediately advance to that side. This rotates infinitely, so you’ll never hit the end either way. It’s all very impressive and works great as a simple UI template.
Fading Carousel by Dang Van Thanh
Here’s a slightly cleaner fading carousel UI that does include a small dot navigation along with arrows on either side. This is fully controlled through CSS, where the arrows work like radio buttons.
Each HTML radio input connects to a different image so you can click to browse through them with ease. The fading effects also run through CSS with mixins from this Sass library for carousels.
Responsive Slideshow by Vo Tuan Trung
Here’s another radio button slider controlled by CSS and some added captions. But this example is also fully responsive, and will work in any modern browser.
All of the CSS is written in Sass and uses the Bourbon mixins library for extra features. The sliding animations pan left or right depending on which direction the content is moving. This cool effect is surprisingly detailed for only running on CSS code.
CSS Testimonials Slider by Mahesh Ambure
These elements follow a modern and simplistic approach to design. Not too much color, texture, or extra design pizzazz. If you want something a little more detailed, check out this related pen by Sara Soueidan. It’s a little more compact but also has more flair to the design.
Picture Frame by Ruediger Stursberg
You can do a lot with CSS transitions and keyframe animations, and this picture frame animation shows how much you can do with a simple slider.
Each photo moves to either side with a simple sliding animation effect. You can add photos inside regardless of size because even the frame is made with pure CSS. Pretty cool, right?
Dark UI by Damian Drygiel
For a darker example you might like this CSS slider, built on top of a dark background. It uses bright green highlights to grab attention and strong caption animations. This slider is incredibly simple to use, plus the animations are top-notch.
CSS Image Carousel by James Holderness
With this image carousel there’s a lot you can change with just a few lines of code.
The design is incredibly simple, and it is one of the few carousels that doesn’t bother with animations, so the transitions are rough and direct. But it all works with less than 100 lines of CSS making it easy to copy and paste this into any layout.
Pure CSS Carousel by Hélio Marcondes
If you want a clean starting point for a fixed-size image slider then check out this design.
Each background rotates with the text in a very simple animation. I would say this is one of the barest templates you’ll find for creating a CSS carousel. It’s certainly not perfect, but it offers a great starting point.
Text Carousel by Cassidy
Each block of text has its own animation cycle, which follows a pattern across five different quotes. You could increase or decrease the number by adding/removing CSS classes, making it all the better for easy editing.
And if you’re looking for a text-only carousel with a bit more flair check out this example by Matthew Hirsch.