Canonical hero composition
Build public pages with explicit HTML, not hidden marketing wrappers.
WebBlocks UI gives you enough shipped structure for a clean landing page: a section wrapper, a constrained container, a strong heading, supporting copy, an action cluster, and optional proof or side content.
- HTML-first
- Zero framework lock-in
- AI-friendly snippets
Readable structure
The landing page stays understandable from the HTML because the composition uses explicit shipped layout and surface classes.
Real shipped surfaces
Cards, promo blocks, callouts, buttons, and nav all come from the same package instead of a separate presentation layer.
AI-friendly validation
Generated snippets can be tested quickly in the Playground before they are copied into a real site or docs page.
Supporting value
What this landing page proves
Use larger rhythm, stronger headline contrast, and quieter support text than you would in an admin product shell.
Keep one primary action, one secondary action, and a short support row rather than stacking too many competing controls.
Stats, inline proof chips, or compact supporting cards can reinforce the proposition without creating a fake dashboard.
Each region can be copied as plain HTML and adapted quickly because no helper layer or custom class vocabulary is required.
Call to action
Need to test your own public-page HTML next?
Open the Playground to paste the hero, swap copy, change actions, and preview the result with the same shipped WebBlocks assets used by these docs.
Canonical hero composition
wb-section or wb-section-sm, wb-page-intro, wb-page-intro-grid, wb-page-intro-copy, wb-page-eyebrow, wb-page-intro-title, wb-page-lead, wb-cluster, wb-inline-list, and optionally wb-page-intro-aside.wb-hero wrapper, do not stack too many equal CTAs, and do not turn the hero into a metrics dashboard.<section class="wb-page-intro wb-section-sm">
<div class="wb-page-intro-grid">
<div class="wb-page-intro-copy">
<p class="wb-page-eyebrow">Canonical hero composition</p>
<h1 class="wb-page-intro-title">Build public pages with explicit HTML.</h1>
<p class="wb-page-lead">Use shipped layout, title, copy, and CTA rhythm instead of inventing a new hero class.</p>
<div class="wb-cluster wb-cluster-2">
<a href="#" class="wb-btn wb-btn-primary wb-btn-lg">Start free</a>
<a href="#" class="wb-btn wb-btn-outline wb-btn-lg">See features</a>
</div>
<ul class="wb-inline-list">
<li class="wb-inline-list-item">HTML-first</li>
<li class="wb-inline-list-item">AI-friendly</li>
</ul>
</div>
<aside class="wb-page-intro-aside">
Optional proof, context, or media-adjacent support block.
</aside>
</div>
</section>
Open in Playground if you want to paste this hero structure directly, change the copy, and test the result with the real WebBlocks assets.