CSS Tags
Style HTML directly with modern CSS. No classes, no frameworks—just semantic markup that looks great.
A complete component without class soup
The card, cluster, badge, and button styles all come from the shipped entry point.
<card>
<card-body>
<layout-stack gap="var(--space-md)">
<layout-cluster justify="space-between">
<span eyebrow>Release</span>
<badge status="success">Stable</badge>
</layout-cluster>
<h3>CSS that follows the markup</h3>
<p>Compose the primitives you need.</p>
<button class="form-button btn-primary" type="button">Read the guide</button>
</layout-stack>
</card-body>
</card> CSS that follows the markup
Compose semantic primitives from one shared token system.
More examples
Each example introduces a different part of the shipped API.
The same tokens work in a real region
A semantic card composes layout, status, and action primitives without page-specific component CSS.
<article data-card>
<div data-card-body>
<layout-cluster justify="space-between">
<h2>Weekly report</h2>
<badge status="info">Preview</badge>
</layout-cluster>
<p>12 new subscribers and 4 completed tasks.</p>
<button class="form-button btn-primary">Open report</button>
</div>
</article> 12 new subscribers and 4 completed tasks.
Try It Right Now
See it for yourself in 60 seconds. Copy this code into an index.html file and open it in your browser:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS Tags Demo</title>
<!-- 1. Add the stylesheet. That's the only setup. --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/css-tags@0.1.0/index.css"></head><body>
<!-- 2. Write semantic HTML. No classes needed. --> <layout-center max-width="70ch"> <card> <card-body> <h1>It Just Works.</h1> <p>This component is already responsive and adapts to your system's light or dark mode. No build step, no configuration needed.</p> <layout-cluster gap="var(--space-sm)"> <!-- 3. Use design tokens for declarative styling. --> <button class="form-button btn-primary">Get Started</button> <button>Learn More</button> </layout-cluster> </card-body> </card> </layout-center>
</body></html>