CSS Modules + PostCSS
If you want “real CSS” without global collisions, **CSS Modules** are an excellent default.
Example: component-scoped CSS module
css
/* Button.module.css */
.button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
border-radius: 12px;
border: 1px solid rgba(255,255,255,0.12);
background: #2563eb;
color: white;
font-weight: 700;
}
.button:hover { background: #1d4ed8; }
.button:focus-visible { outline: 2px solid rgba(37,99,235,.45); outline-offset: 2px; }tsx
import styles from "./Button.module.css";
export function Button({ children }: { children: React.ReactNode }) {
return <button className={styles.button}>{children}</button>;
}PostCSS tips
- Use Autoprefixer (already in this repo) for vendor prefixes.
- Add CSS variables for theming (dark/light) and keep tokens in one place.
Page changelog
Last updated
- 2026-01-18—Initial or baseline update for this page.
Related articles
Getting Started
Tutorials Hub — Learn by Building
Step-by-step workflows that teach deployment, security, and operations by shipping small projects.
Getting Started
Glossary — Infrastructure Terms
Short, clear definitions for common deployment, networking, and security terminology.
Getting Started
Changelog — Documentation Updates
What changed recently in the documentation, plus guidance for versioning docs as code.
Getting Started
Support & FAQ
Quick answers, how to get help, and what information to include when reporting an issue.
Getting Started
Bootstrap — Classic CSS Framework (Fast Layouts)
Use Bootstrap for rapid grids and components, and learn how to override safely with real CSS snippets.
Getting Started
shadcn/ui — Tailwind Components You Own
Add beautiful, accessible components to your app without locking into a hosted UI library. Includes practical examples and structure tips.
Was this page helpful?