Skip to content
MANAWAVE DOCS
GitHub

Design Principles

Generally, all design principles really boil down to MANAWAVE marquee behaving like a native HTML element.

Familiar

MANAWAVE is familiar for anyone who codes in HTML or CSS, even beginners. Remember the marquee element? It’s very easy to get a basic marquee working.

<marquee>content</marquee>
content

A marquee would work on anything that would be looped across the screen.

This will loop even though it’s not just text

The reason why a traditional <marquee> is used as example is because using MANAWAVE should be as easy as using a <marquee>. You only need to put content in the tag and it should work. If you want to configure its behavior, you can pass in attributes.

Standard

To put it shortly, using HTML & CSS in MANAWAVE just works. You don’t have to account for weirdness on MANAWAVE’s end most of the time.

Using MANAWAVE should feel like authoring HTML & CSS content regularly. Special cases or exceptions are minimal. There’s nothing special about using MANAWAVE. It’s just a marquee. It does everything you expect should happen.

This means any existing style or content you have can be used in MANAWAVE without too much hassle. If the content is responsive, MANAWAVE accomodates for that too.

Customizable

As a start, MANAWAVE can be decently customized through its attributes. This makes it low-friction for simple use cases, and even more smooth for web dev beginners. MANAWAVE doesn’t need that much JavaScript configuration to do stuff any marquee should do.

For more advanced developers, MANAWAVE considers wacky use cases beyond what’s expected for a traditional marquee. You can see a bunch of these in the Realms.

Because a marquee shouldn’t just move things across a screen and could be interactive, customizability is something baked in. You can override default behaviors to make MANAWAVE fit more to what you think a marquee should do.

Performant

MANAWAVE should be like using a <marquee>. A <marquee> loads everything near instantaneously and you don’t even have to think about loading states. It doesn’t intrude on your website. It shouldn’t overwhelm nor break your website (for regular cases). When the viewport resizes, it doesn’t nuke the website. A MANAWAVE marquee should feel invisible and a natural part of a website.

Isolated

Using MANAWAVE should not leak any effects onto other HTML elements or CSS styles. Anything relating to a given MANAWAVE marquee only affects its children. This makes MANAWAVE a progressive enhancement on vanilla HTML & CSS websites. Your existing content does not need to adapt for MANAWAVE. You can wrap it on existing content and it’ll work out fine.

If you choose to not use MANAWAVE, removing it will not break your website. Removing MANAWAVE will gracefully degrade and you’ll just have your marquee children.