Creating a scrolling text marquee (often called a “ticker”) can add a dynamic touch to your website, perfect for announcements, breaking news, or promotional messages. While Elementor Pro offers a dedicated widget for this, you can achieve a perfectly seamless and continuous scrolling effect using Elementor Free with a little custom CSS and HTML.
This tutorial will guide you through the exact steps to create a smooth, looping marquee without any visible gaps or glitches.
Let’s walk through how to do it! So you will be making titles like this in no time :
Free Elementor addons often include a “Ticker” or “Marquee” widget. While convenient, adding extra plugins can sometimes impact site performance. This method uses minimal code, keeping your site lean and giving you full control.
We’ll create a text marquee that:
First, let’s create the basic structure in your Elementor editor.
This is where the magic of the seamless loop happens. To ensure no gaps or delays, your text needs to be duplicated within the Heading widget itself, and crucially, it needs to be long enough to overflow its container.
Now, we’ll add the CSS that brings your text to life. This code is optimized for seamless looping and smooth performance, addressing common glitches.
<style>
/* -- Seamless & Glitch-Free Marquee for Elementor Free -- */
/* 1. The Outer Container: Hides overflowing text */
.custom-marquee-container {
overflow: hidden; /* Essential for hiding text outside the view */
width: 100%; /* Ensure it takes full available width */
}
/* 2. The Heading Widget Wrapper: Acts as a flexible container for its content */
.custom-marquee-text {
/* No animation directly on this wrapper */
display: flex; /* Helps in making the inner heading behave */
}
/* 3. The Actual Heading Tag (e.g., h1, h2, h3) inside the widget: This is our animated element */
.custom-marquee-text .elementor-heading-title {
display: inline-block; /* Allows it to size itself based on its content */
white-space: nowrap; /* CRUCIAL: Prevents text from wrapping to a new line */
margin: 0; /* Remove any default heading margins that might interfere */
/* Marquee Animation Properties */
animation: marquee-scroll 40s linear infinite; /* Adjust '40s' for speed (lower = faster) */
will-change: transform; /* Optimizes animation performance, reducing glitches */
/* Default Text Styling (can be overridden by Elementor's style tab) */
font-size: 24px; /* Example: Adjust font size */
color: #000000; /* Example: Adjust text color */
padding-right: 40px; /* Adds a little spacing after each full text unit */
}
/* 4. The Animation Keyframes: Defines the scrolling motion */
@keyframes marquee-scroll {
from {
transform: translateX(0); /* Starts at its original position */
}
to {
transform: translateX(-50%); /* Moves left by half its total width for seamless looping */
}
}
</style>
As soon as you paste the code, you should see your heading text transform to this appealing animated marquee!
@keyframes marquee-scroll {
from {
transform: translateX(-50%); /* Starts half-way to the left */
}
to {
transform: translateX(0); /* Moves back to the original position */
}
}
You now have a fully functional, seamless, and glitch-free continuous scrolling text marquee in Elementor Free! This method is robust, lightweight, and gives you excellent control over the final look and feel without relying on additional plugins. Experiment with the settings to perfectly integrate it into your website design.