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.
18 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!
Hi there!
I am trying to make the marquee work on this page but it doesn't seem to work properly. It's just text and headings. The code is the same as the example above (I downloaded the JSON file)
Do you have any idea?
Thanks 🙂
https://cammi.studio/
Greetings!
The javascript isn't loading on the page, and that's the issue here...
You could try importing the JSON as is on a new page, see if everything works then.
Maybe you deleted the container at the bottom that included the CSS and JS?
Cheers!
Hi,
thank you for the awesome Code.
I just have a challenge to with the gradient edges. On all Marquees the edges are white and not just transparent. The only marquee that has transparent and not white edges is the basic image galery as a logo showcase.
Do you have an idea how to fix it that the edges are not white?
Greetings,
If you get white, it's simply that the color behind the marquee items is white. Change the background color to another color to have something other than white.
With the container marquee, you will need to wrap it, see this video: https://vento.so/view/0866d457-440c-4f27-b95e-3fa467e57f9f?utm_medium=share
Cheers!
HI Maxim,
thanks a lot for the answer - just saw it.
I tested it like you described and it works.
My error was, that I took the Wrapper as the parent container and as the Main BG Color of the page is white - it was white.
Have a great day and thank you for the awesome work.
Best
Jan