DEV Community

Cover image for How to Create a Marquee in HTML/CSS!
Ustariz Enzo
Ustariz Enzo

Posted on • Edited on

How to Create a Marquee in HTML/CSS!

Hey fellow creators

Learn how to create a marquee in HTML/CSS only in less than a minute!

If you prefer to watch the video version, it's right here :

1. The HTML structure.

Create a basic HTML structure with a container and then a "p" with some text inside:

<div class="marquee-container">
    <p class="marquee">
        LONDON - PARIS - SYDNEY - TOKYO - NEW YORK - BERLIN - ROME
    </p>
</div>
Enter fullscreen mode Exit fullscreen mode

2. Style the page.

Start by styling the container by making sure its overflow is hidden:

.marquee-container{
    display: flex;
    align-items: center;
    background: #25284c;
    overflow: hidden;
}
Enter fullscreen mode Exit fullscreen mode

Then style the text however you want, but most importantly create an animation:

.marquee{
    font-size: 100px;
    line-height: 1.3;
    font-family: sans-serif;
    padding: 24px 0;
    color: #fff;
    white-space: nowrap;
    animation: marquee 3.5s infinite linear; /* notice the infinite */
}
Enter fullscreen mode Exit fullscreen mode

Add a pseudo element ::after with the exact same text as the one in the "p" :

.marquee:after{
    content: "LONDON - PARIS - SYDNEY - TOKYO - NEW YORK - BERLIN - ROME";
}
Enter fullscreen mode Exit fullscreen mode

3. Create the animation.

Now create the animation itself:

@keyframes marquee{
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(-50%)
    }
}
Enter fullscreen mode Exit fullscreen mode

It will make the div containing the text go to the left, you can put 50% if you want to animate it to the right.

After 50% of the width it will reset to the beginning of the animation without a flinch, thus starting the animation again and again.

This, indeed, can only work if we are using the same text in the p tag and the after.

There you go, you've now created a nice smooth marquee!

Come and take a look at my Youtube channel: https://www.youtube.com/c/TheWebSchool

See you soon!

Enzo.

Top comments (6)

Collapse
 
ksengine profile image
Kavindu Santhusa

This is HTML only version

<marquee>
      LONDON - PARIS - SYDNEY - TOKYO - NEW YORK - BERLIN - ROME
</marquee>
Enter fullscreen mode Exit fullscreen mode

This tag is deprecated.

Collapse
 
ziratsu profile image
Ustariz Enzo

Unfortunately yes, it is not recommanded anymore but thanks for the comment mate!

Collapse
 
ksengine profile image
Kavindu Santhusa

this is an awesome animation created with marquee tag

Collapse
 
bogdanbatsenko profile image
bogdanbatsenko

I was looking for this the other day. Thanx

Collapse
 
luizc91 profile image
LuizC91

Is marquee still worth putting in a site? The teacher from the online course said it's a thing that depreciates the job.

Collapse
 
ziratsu profile image
Ustariz Enzo

Don't use the deprecated tag, just do as I show in the article and it's all right.