80
loading...
This website collects cookies to deliver better user experience
<div class="overflow-x-hidden">
<div class="py-12 animate-marquee whitespace-nowrap ">
<span class="mx-4 text-4xl">Marquee Item 1</span>
<span class="mx-4 text-4xl">Marquee Item 2</span>
<span class="mx-4 text-4xl">Marquee Item 3</span>
<span class="mx-4 text-4xl">Marquee Item 4</span>
<span class="mx-4 text-4xl">Marquee Item 5</span>
</div>
</div>
0%
(the default position) to -100%
- ensuring the element moves off the screen until it reaches the end.module.exports = {
extend: {
animation: {
marquee: 'marquee 25s linear infinite',
},
keyframes: {
marquee: {
'0%': { transform: 'translateX(0%)' },
'100%': { transform: 'translateX(-100%)' },
}
},
}
}
absolute
so that we don't have an increase in parent element height. We also apply flex to the parent to ensure the elements sit nicely next to each other.<div class="relative flex overflow-x-hidden">
<div class="py-12 animate-marquee whitespace-nowrap">
<span class="mx-4 text-4xl">Marquee Item 1</span>
<span class="mx-4 text-4xl">Marquee Item 2</span>
<span class="mx-4 text-4xl">Marquee Item 3</span>
<span class="mx-4 text-4xl">Marquee Item 4</span>
<span class="mx-4 text-4xl">Marquee Item 5</span>
</div>
<div class="absolute top-0 py-12 animate-marquee2 whitespace-nowrap">
<span class="mx-4 text-4xl">Marquee Item 1</span>
<span class="mx-4 text-4xl">Marquee Item 2</span>
<span class="mx-4 text-4xl">Marquee Item 3</span>
<span class="mx-4 text-4xl">Marquee Item 4</span>
<span class="mx-4 text-4xl">Marquee Item 5</span>
</div>
</div>
marquee2
to our tailwind.config.js
.module.exports = {
extend: {
animation: {
marquee: 'marquee 25s linear infinite',
marquee2: 'marquee2 25s linear infinite',
},
keyframes: {
marquee: {
'0%': { transform: 'translateX(0%)' },
'100%': { transform: 'translateX(-100%)' },
},
marquee2: {
'0%': { transform: 'translateX(100%)' },
'100%': { transform: 'translateX(0%)' },
},
},
}
}
marquee2
is translating the second element from 100% to 0 at the same speed as the first element, so they will smoothly follow each other.