Semantik statt DIV-Soup
Jedes Element hat Bedeutung: <article>, <figure>, <blockquote>, <details>. Keine generischen Container, die nur Styling-Hooks sind.
Eine Page, die sich selbst dokumentiert class & divless.
Jedes Element hat Bedeutung: <article>, <figure>, <blockquote>, <details>. Keine generischen Container, die nur Styling-Hooks sind.
Keine .btn, .card, .container Klassen. Styling erfolgt über Tag-Selektoren, Attribute und strukturelle Position (:nth-of-type, :first-child).
Design-Entscheidungen sind in CSS-Variablen gekapselt: --space-l, --accent, --radius. Ändere das Theme, indem du die Root-Variablen überschreibst.
Diese Seite funktioniert auch ohne CSS - die semantische Struktur bleibt lesbar. CSS fügt visuelle Hierarchie hinzu, ohne die Informationsarchitektur zu zerstören. Keine <div>-Wüsten, die ohne Stylesheets kryptisch werden.
Der Code folgt dem Prinzip: Content first, presentation second. HTML beschreibt was etwas ist, CSS bestimmt wie es aussieht.
clamp() für Fluid Typographycolor-mix() für Farbdynamikaspect-ratio statt Padding-Hacksbackdrop-filter für GlassmorphismEndlich jemand, der verstanden hat, dass
@semanticweb_dev - Frontend Architect<div>kein Layout-Element ist.
Kein Tailwind, kein Bootstrap, kein Framework-Overhead. Nur Plattform.
@vanillacss - Web Standards Advocate
Die
@csswizardry - CSS Performance Expert:nth-of-type-Selektoren sind genial. Kein JavaScript für State-Management nötig.
@a11y_engineer - Accessibility Specialist
clip-path: inset(50%)für visuell versteckte, aber accessible Inhalte - genau richtig.
Native HTML5-Elemente für aufklappbare Inhalte. <summary> als Toggle, [open] Attribut für Styling-Zustände. Kein ARIA-Overhead nötig.
Korrekte <thead>, <tbody>, scope="col" und scope="row" Attribute. Screenreader können die Tabelle korrekt vorlesen.
Der Umbau ersetzt generische Container durch bedeutungsvolle Elemente. Statt <div class="card"> wird <article> verwendet. Statt <div class="testimonial"> wird <blockquote> mit <cite> genutzt.
MIT/ License
CC-BY/ Creative Commons
CC0/ No Copyright
| Kriterium | Classless | Utility-First | Component Framework |
|---|---|---|---|
| Bundle Size | ~5 KB CSS | ~50 KB Tailwind | ~200 KB Framework |
| Learning Curve | HTML-Kenntnisse | CSS-Kenntnisse + DX | Framework-API + DX |
| Accessibility | Nativ | Manuell | Framework-abhängig |
| Maintenance | Minimal | Medium | Hoch |
grid-template-columns: repeat(3, 1fr) für responsive Spalten. gap statt Margins für konsistente Abstände. Zweidimensionale Kontrolle über Zeilen und Spalten gleichzeitig.
display: flex für eindimensionale Layouts. align-items: center und justify-content: space-between für vertikale/horizontale Zentrierung. Perfekt für Komponenten-internes Layout.
calc((100% - var(--max)) / 2) simuliert Container-basierte Zentrierung. Die max() Funktion wählt zwischen Padding und dynamischer Berechnung.
clamp(1rem, 2vw, 2rem) für Fluid Typography. rem für Accessibility-respektierende Größen. vw für viewport-relative Skalierung.
Klassen sind Styling-Hooks, die die Semantik verschleiern. Tag-Selektoren (article, figure, blockquote) beschreiben direkt, was gestylt wird, nicht welche visuelle Rolle es spielt.
Alle Farben sind als Custom Properties definiert. Ein @media (prefers-color-scheme: dark) Query könnte die Root-Variablen überschreiben. Aktuell ist das Design bereits dunkel - Light Mode wäre ein Toggle via data-theme Attribut.
Die Plattform bietet native Lösungen: <details> für Accordions, :checked für Tabs, :target für Modal-Dialoge. JavaScript fügt nur Komplexität hinzu, wenn die Plattform bereits Lösungen bietet.
Ja. Kein JavaScript-Parsing, kein Framework-Overhead, keine Runtime. Der Browser rendert HTML + CSS direkt. Critical Rendering Path ist minimal: Parse HTML → Parse CSS → Render.
Semantische HTML-Struktur etablieren. Alle <div> durch bedeutungsvolle Elemente ersetzen. Accessibility-Baseline sicherstellen.
Classless CSS-Architektur implementieren. Custom Properties für Design Tokens. Responsive Breakpoints via Media Queries definieren.
| Version | Änderung | Datum |
|---|---|---|
| 2.0 | Fieldset-Tabs statt Div-Tabs | 2026-08 |
| 1.8 | color-mix() für Farbdynamik | 2026-07 |
| 1.5 | aspect-ratio statt Padding-Hacks | 2026-06 |
| 1.2 | backdrop-filter für Header | 2026-05 |
| 1.0 | Classless Architecture eingeführt | 2026-04 |
| 0.9 | Custom Properties implementiert | 2026-03 |
| 0.1 | Initial Commit: HTML5 Boilerplate | 2026-02 |
HTML und CSS sind keine Zwischenschritte zu JavaScript-Frameworks - sie sind die Plattform selbst. Respektiere die Sprache des Webs, und das Web wird dich belohnen: mit Performance, Accessibility und Langlebigkeit.