Section dividers that span exactly
Every layer runs from edge to edge, so the shape fills its container at any width without a seam.
Section dividers that span exactly
Every layer runs from the left edge to the right edge, so the shape fills its container at any width without a seam or a sliver of background.
Why SVG rather than an image
A wave divider is a handful of curves, and expressing it as vector geometry rather than pixels wins on every axis that matters here. It stays crisp at any width and on any display density. It costs a few hundred bytes rather than tens of kilobytes. And because the fill is just a CSS colour, it can follow a theme — the same divider works on a light and a dark background without a second file.
A raster export cannot do the last of those at all, which is the usual reason a site ends up with four versions of the same decorative shape and a bug where one of them has the wrong background baked into it.
It is decoration, so mark it as decoration
A divider carries no information. Someone listening to the page rather than looking at it gains nothing from being told there is a wave here, and loses a little for the interruption, so the graphic should be hidden from assistive technology rather than given a description.
The corollary is that nothing meaningful should ever live in it. If a shape is separating two sections, the sections still need their own headings; if the wave is carrying a colour change that signals something, the signal has to exist in the text too. Decorative is a promise about the content as well as an attribute — it is only honest if the page still makes sense with the shape removed.
How it stays seamless
Each layer starts at x=0 and ends at x=width, then closes down to the bottom edge. With preserveAspectRatio="none" the shape stretches horizontally to whatever width the container is, so there is never a gap at one end.
The height stays fixed, which is what you want for a divider — a wave that scales proportionally becomes enormous on a wide screen.
The seed drives the point positions, so the same seed rebuilds the same wave exactly. That is what lets a design and its implementation agree.
Mark it decorative
A divider carries no information, so it gets aria-hidden="true". Left unmarked it is announced as a graphic with no name, which is noise.
Inline rather than a background image
An inline SVG can use currentColor, respond to CSS, and be recoloured for dark mode without a second file. A background image with a data URI cannot do any of that and has to be duplicated per theme.