Welcome to Vanilla Breeze
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
Full-height container with vertically centered principal element. Perfect for hero sections, landing pages, and full-viewport layouts.
| Attribute | Values | Default | Description |
|---|---|---|---|
data-layout-min |
s, m, l, xl, auto |
xl |
Minimum block size: 50 / 70 / 80vh, xl = 100dvh, auto = none. One-off: style="--layout-min: 65vh". |
data-layout-padding |
none, s, m, l, xl |
m |
Padding on all sides. |
data-layout-gap |
none, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl |
none |
Gap between the non-centered elements, on the shared size scale. |
data-layout-centered |
(boolean) | — | Center children and text horizontally. |
data-layout-principal (on any child) |
(boolean) | — | The vertically centered principal element. A sole child auto-centers without it. |
data-layout-cover-top (on any child) |
(boolean) | — | Pin to the top (a <header> child is pinned automatically). |
data-layout-cover-bottom (on any child) |
(boolean) | — | Pin to the bottom (a <footer> child is pinned automatically). |
The cover layout vertically centers its principal element while header and footer stay at their respective edges.
<layout-cover data-layout-min="xl" data-layout-padding="m" data-layout-centered> <header>Header content</header> <div data-layout-principal> <h1>Principal Content</h1> <p>This is vertically centered</p> </div> <footer>Footer content</footer></layout-cover>
The data-layout-min attribute controls the minimum height of the cover.
<layout-cover data-layout-min="auto">...</layout-cover><layout-cover data-layout-min="s">...</layout-cover><layout-cover data-layout-min="l">...</layout-cover><layout-cover data-layout-min="xl">...</layout-cover><layout-cover data-layout-min="xl">...</layout-cover>
The data-layout-padding attribute controls internal spacing.
<layout-cover data-layout-min="xl" data-layout-padding="xl" data-layout-centered> <header> <layout-cluster data-layout-gap="m" data-layout-justify="between"> <strong>Brand</strong> <nav>...</nav> </layout-cluster> </header> <div data-layout-principal> <layout-stack data-layout-gap="l" data-layout-align="center"> <h1>Welcome to Our Platform</h1> <p>Build amazing experiences with our tools.</p> <layout-cluster data-layout-gap="m"> <button type="button">Get Started</button> <button type="button" class="secondary">Learn More</button> </layout-cluster> </layout-stack> </div> <footer> <small>Scroll down to explore</small> </footer></layout-cover>
<layout-cover data-layout-min="xl" data-layout-padding="l" data-layout-centered> <header> <strong>Brand Logo</strong> </header> <div data-layout-principal> <layout-card style="max-inline-size: 22rem;"> <layout-stack data-layout-gap="m"> <h2>Sign In</h2> <form>...</form> </layout-stack> </layout-card> </div> <footer> <small>Don't have an account? <a href="#">Sign up</a></small> </footer></layout-cover>
<layout-cover data-layout-min="xl" data-layout-padding="m" data-layout-gap="m"> <nav class="breadcrumb" data-layout-cover-top aria-label="Breadcrumb"> <ol> <li><a href="#">Home</a></li> <li><a href="#">Products</a></li> <li><span aria-current="page">Item</span></li> </ol> </nav> <div data-layout-principal> <layout-stack data-layout-gap="s"> <strong>Product Details</strong> <p>Main content centered vertically.</p> </layout-stack> </div> <div data-layout-cover-bottom> <layout-cluster data-layout-gap="s" data-layout-justify="between"> <span>Step 2 of 4</span> <layout-cluster data-layout-gap="s"> <button type="button" class="secondary">Back</button> <button type="button">Next</button> </layout-cluster> </layout-cluster> </div></layout-cover>
<layout-center> — Horizontally centered container<layout-stack> — Vertical stacking layout<layout-cluster> — Horizontal grouping with wrapping