In this tutorial, I will show you how to create a circular cards carousel with Elementor Pro.
The cards are forming an arc pattern.
See the demo here:
This tutorial will work on the following Elementor carousels and sliders:
- Elementor Carousel (the new one where each slide is a container)
- Elementor Loop Carousel
- Elementor Image Carousel
- Elementor Testimonial Carousel
- Elementor Review Slider
Features:
- Have anything you want in the slides
- Beautiful and unique arc pattern
- Easy to customize
Let's get started!
First, enable the new Swiper Library
This is a premium tutorial. Purchase access to unlock the full tutorial.
18 Responses
Thanks for another great tutorial, Maxime. I hope it can be scroll-based instead of requiring clicks on the arrows.
Hi,
I didn't find the Elementor Carousel widget, only the other four that you liseted (Testimonial, Loop, Image and Reviews). I'm using the latest version of Elemetor/Elementor Pro.
Any idea why it's missing?
Thanks
Greetings litmol!
You need to have the proper features enabled, see the start of this Elementor article: https://elementor.com/help/carousel-widget/
Cheers!
Also, the word "Features" is showing on the left size of the pagination dots, even when I changed the pagination size to 0px (my website is RTL).
Please advise how to remove it.
Thanks
Greetings litmol!
You will find it under Advanced > Custom CSS!
Cheers!
Hey! How do I get 5 slides to display? I'm changing it here:
let slidesToShowSettings = {
desktop: "3",
tablet: "2.3",
mobile: "1.3"
}
The code I've updated it to is: let slidesToShowSettings = {
desktop: "5",
tablet: "3",
mobile: "1.3"
}
But it still just shows 3 - even though container width is 100% and I've tried on a large screen too and it just shows 3.
Any advice?
Thanks,
Amber
Greetings!
Try entering "7" instead, and be certain to delete this CSS:
/* only show 3 slides, to look better on larger displays, delete if you want more than 3 slides to be shown per view */ selector .swiper-slide:has(+.swiper-slide ~ :is(.swiper-slide-active, .swiper-slide-active-duplicate)), selector :is(.swiper-slide-active, .swiper-slide-active-duplicate) + .swiper-slide ~ .swiper-slide { opacity: 0 !important; pointer-events: none; }However, this tutorial is complex, and the results might not be as you wish even then...
This tutorial really gets great results with 3 slides on desktop, otherwise it doesn't work quite as well.
I hope this helps!
Hey, this causes scrolling on my site to jolt/get stuck for some reason, and only when i add the CSS for overflow. Any suggestions?
Hey Will!
Try setting the overflow to 'hidden' on the parent container of the arc carousel, under Content tab > Additional Options > Overflow.
Let me know if that fixes it!
Cheers!
That did fix it, got another one for you! I'm trying to add a glass effect to the slides, something like this: https://hype4.academy/tools/glassmorphism-generator
Something in the JSON (Presume it's to do with translate?) seems to be effecting the effect causing it not to work on chrome, safari seems okay weirdly which makes me think their is room for a solution...
Thanks,
ByJOSN i mean script... lot going on haha
Hey Will!
Do you have the URL to the page where you are trying to add the glassmorphism? I will have a look, be certain to have the CSS in place.
Cheers!
See here: https://x18cbl3ayp.wpdns.site/ I have 2 versions in place, one with a glass effect using essential addons, one with a css only solution.
Thanks,
Hey Will!
I think it's because there is some transform CSS on the slides, it's probably interfering with the glass CSS. Sorry I don't have a solution for you here.
Cheers!
Aye thoughts so, just weird how it works on safari. Anyway i'll crack on, thanks
Oh actually final question, can you see that the bottom of the carousel gets cut off now i've set the container to hidden? How can i fix that?
Thanks,
Hey Will!
You can try playing with the bottom padding of the container, to have more space for the cards there.
Otherwise you can also try to set this CSS instead of the overflow hidden setting, on that same parent container:
selector {
overflow-x: clip;
}
Cheers!
Legend