Responsive Webdesign erstellen
So passt sich deine Seite jedem Gerät an
Responsive Webdesign sorgt dafür, dass deine Webseite auf verschiedenen Geräten – vom Smartphone über Tablets bis zum Desktop – optimal dargestellt wird. Statt mehrere Versionen der Seite zu pflegen, passt sich ein einziges Design flexibel an die Bildschirmgröße an.
1. Warum ist Responsive Webdesign wichtig?
Bessere Nutzererfahrung: Nutzer können deine Webseite komfortabel auf Smartphones, Tablets und Desktops bedienen, ohne zu zoomen oder zu scrollen.
SEO-Vorteil: Google bewertet mobilfreundliche Seiten besser, was dein Ranking verbessern kann.
Kosten sparen: Mit einem responsiven Design reicht eine Webseite, mehrere Versionen sind nicht nötig.
2. Grundlagen: Viewport einrichten
Das Viewport-Meta-Tag sorgt dafür, dass dein Layout korrekt skaliert und auf verschiedenen Geräten richtig dargestellt wird.
<meta name="viewport" content="width=device-width, initial-scale=1" />
Wo wird es eingefügt?
Das Meta-Tag muss im <head>-Bereich deiner HTML-Datei stehen, idealerweise ganz am Anfang direkt nach dem <meta charset="UTF-8">-Tag.
3. Media Queries – Layouts anpassen
Media Queries ermöglichen es, CSS-Regeln nur ab bestimmten Bildschirmgrößen anzuwenden, so kannst du dein Layout anpassen.
/* Basis-Layout – Desktop */
.container {
width: 960px;
margin: 0 auto;
}
/* Tablet (max-Breite 768px) */
@media (max-width: 768px) {
.container {
width: 90%;
}
}
/* Smartphone (max-Breite 480px) */
@media (max-width: 480px) {
.container {
width: 100%;
padding: 10px;
}
}
Erklärung: Die Container-Breiten passen sich an kleinere Bildschirme an, damit der Inhalt immer gut sichtbar ist und nicht zu schmal oder zu breit dargestellt wird.
4. Flexbox – flexibles Layout einfach umsetzen
Flexbox ist ein CSS-Modul, das dir erlaubt, Layouts flexibel zu gestalten und beispielsweise Spalten nebeneinander oder untereinander anzuordnen.
.container {
display: flex;
flex-wrap: wrap;
gap: 20px; /* Abstand zwischen den Elementen */
}
.item {
flex: 1 1 300px; /* wachsen, schrumpfen, Basis 300px */
background: #0073aa;
color: white;
padding: 20px;
border-radius: 8px;
box-sizing: border-box;
}
<div class="container">
<div class="item">Block 1</div>
<div class="item">Block 2</div>
<div class="item">Block 3</div>
</div>
Erklärung: Mit flex-wrap: wrap brechen die Blöcke bei zu wenig Platz um und ordnen sich untereinander, was auf mobilen Geräten wichtig ist.
5. CSS Grid – komplexere Layouts steuern
CSS Grid ist ideal für zweidimensionale Layouts und bietet feinste Kontrolle über Reihen und Spalten.
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
}
.grid-item {
background-color: #0097e6;
color: #fff;
padding: 20px;
border-radius: 8px;
}
<div class="grid-container">
<div class="grid-item">Element 1</div>
<div class="grid-item">Element 2</div>
<div class="grid-item">Element 3</div>
<div class="grid-item">Element 4</div>
</div>
Erklärung: Die Anzahl der Spalten passt sich automatisch an die Bildschirmgröße an. Jede Spalte ist mindestens 250px breit, kann aber auch größer werden.
6. Beispielprojekt: Responsive Navigation
Die Navigation passt sich auf großen Bildschirmen horizontal an und wird auf kleinen Geräten vertikal angeordnet.
<nav class="nav">
<ul class="nav-list">
<li><a href="#">Startseite</a></li>
<li><a href="#">Leistungen</a></li>
<li><a href="#">Über uns</a></li>
<li><a href="#">Kontakt</a></li>
</ul>
</nav>
.nav-list {
display: flex;
list-style: none;
gap: 40px;
padding: 0;
margin: 0;
}
@media (max-width: 600px) {
.nav-list {
flex-direction: column;
gap: 15px;
}
}
Erklärung: Auf schmaleren Geräten werden die Navigationselemente übereinander angeordnet, um mehr Platz zu schaffen und die Bedienung zu erleichtern.