In this tutorial I'm going to show you how to create a great Elementor smooth carousel design. It is also sometimes called Elementor ticker or Elementor marquee design.
We are going to use CSS only for the animation i There is also some JavaScript used for the proper duplication of elements, so that there is a seamless row across the screen. It runs one time on page load, and from then on the setup is essentially straight HTML and CSS. , which gives a smooth animation and is quite lightweight (CPU wise).
This works directly with static containers, and it also works with an Elementor loop grid and loop template. And it works with the basic gallery element, to have a nice image marquee carousel.
See the premium Elementor smooth carousel ticker marquee demo here (scroll down all the way):
Features:
- Dynamic or static: Works with containers and with the loop grid, basic gallery, and heading elements.
- Full Design Flexibility: We just have a bunch of containers in a row (for the static version) or a loop grid element (for the dynamic version).
- Adjustable animation: Control the speed and direction of the animation. Can be adjusted individually for each marquee.
- Vertical mode: You can even create nice vertical marquees with this, including marquees with rotated text.
- Easy to replicate: You will be able to import the template of the demo above, delete what you don't need, and swap your content in.
- Pause on hover: Optionally, pause the marquee animation on hover. Useful if there is interactive content in the smooth carousel.
- Responsive: I've set everything up so that we easily can adjust the marquee on desktop, tablet and mobile breakpoints.
- Accessibility ready: I added everything required so that the duplicated elements (required for the seamless animation) are fully ignored by keyboard and screen reader users, making it A11Y friendly.
Elementor Pro required.
Let's get started!
First, import the template in your page
This is a premium tutorial. Purchase access to unlock the full tutorial.
13 Responses
Great tutorial. would it work with "gallery" widget? I noticed you used only the "basic gallery" widget...
Thanks!
Hey Devin!
Yes to keep things as light as possible I went with the Basic Gallery instead, which loads less CSS and JS. The markup is also a bit lighter.
Hi MAxime,
Can you please check out this loom video, there seems to be a glitch. I must be doing something wrong
https://www.loom.com/share/d3f2bd8feb5647e18827a26e06b62e3d?sid=fa7cb424-50ca-4103-b97a-3e94896380e7
Hey Victor!
The marqueeContainer was set to justify-content: center , and that broke the loop.
I set it back to the default (flex-align:start) and it solved the issue!
Cheers!
How can you make it work on RTL websites? it has a blank it works only on LTR
Greetings cocoteam!
I added instructions at the end of the tutorial for RTL compatibility!
Let me know if it works for you!
Cheers!
Hi - I seem to be getting a bug with Firefox using this method. Are you aware of a fix? You can see the marquee on 3 different pages, the homepage, preise, and referenzen.
https://principled-gharial-77e1cd.instawp.xyz/
Sorry - forgot to describe the bug (though it will be obvious when you open the page in Firefox). The logos are fixed to the background with the marquee scrolling over top.
Hey Paul!
I fixed the issue. Please update the HTML element by copy pasting the template, and deleting everything other than the code, and deleting the old code.
Now though, you will probably see that it's not animated at all, and that's as it should be.
The issue was with this bit of A11Y code, that prevents any animation of the marquee if the user preferences are set accordingly:
I had a small specificity error in there, so that it stopped animating only one of the two <div< , now that's fixed so with the proper browser (or system) settings, there won't be any animation.
You could delete this part of the code, but I'd strongly suggest against it.
Cheers!
Hi Maxime - sorry for the late reply. I was able to implement these changes and it fixed the issue exactly as you said. Thanks for your prompt reply to this!
Awesome, glad it fixed it!
Cheers!
Hi Max, how can we make it work with the carousel widget?
Greetings!
Sorry this is quite literally an alternative to the carousel element... it can't work with it.
Otherwise, to get something similar, see this video from Zoe: https://www.youtube.com/watch?v=dXK4PDWze5M
Cheers!