1. Was bedeutet Responsive Webdesign?
Responsive Webdesign bedeutet, dass sich das Layout einer Webseite an unterschiedliche Bildschirmgrößen anpasst.
Eine Webseite soll sowohl auf Smartphones als auch auf Tablets und Computern gut lesbar und bedienbar sein.
Smartphone
Kleiner Bildschirm
Tablet
Mittlerer Bildschirm
Desktop
Großer Bildschirm
2. Der Viewport
Der Viewport ist der sichtbare Bereich einer Webseite im Browser.
Für eine korrekte Darstellung auf mobilen Geräten wird normalerweise folgende HTML-Angabe verwendet:
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
Diese Angabe gehört in den head-Bereich des HTML-Dokuments.
3. Was sind Media Queries?
Mit Media Queries können CSS-Regeln abhängig von Eigenschaften des Ausgabegeräts oder Viewports angewendet werden.
CSS-Code
@media (max-width: 600px) {
body {
background-color: lightblue;
}
}
Die Regel wird angewendet, wenn die Viewport-Breite höchstens 600px beträgt.
4. max-width und min-width
| Eigenschaft | Bedeutung |
|---|---|
| max-width: 600px | Bis einschließlich 600px |
| min-width: 600px | Ab einschließlich 600px |
Beispiel
@media (min-width: 768px) {
.container {
display: grid;
grid-template-columns: 1fr 1fr;
}
}
Ab einer Viewport-Breite von 768px erhält der Container zwei Spalten.
5. Breakpoints
Breakpoints sind Bildschirmbreiten, an denen sich das Layout einer Webseite ändert.
| Beispielbereich | Viewport-Breite |
|---|---|
| Kleine Bildschirme | Bis 480px |
| Mittlere Bildschirme | 481px bis 768px |
| Große Bildschirme | Ab 769px |
6. Mobile First
Mobile First bedeutet, dass zuerst das Layout für kleine Bildschirme entwickelt wird.
Anschließend wird das Layout für größere Bildschirme erweitert.
CSS-Code
.container {
display: grid;
grid-template-columns: 1fr;
}
@media (min-width: 600px) {
.container {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 900px) {
.container {
grid-template-columns: repeat(3, 1fr);
}
}
Ergebnis
Verändern Sie die Breite des Browserfensters, um die unterschiedlichen Spaltenzahlen zu sehen.
7. Responsive Grid
Mit CSS Grid und Media Queries kann die Anzahl der Spalten verändert werden.
CSS-Code
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
@media (max-width: 768px) {
.grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.grid {
grid-template-columns: 1fr;
}
}
Ergebnis
8. Flexible Breiten
Statt ausschließlich feste Pixelwerte zu verwenden, können relative Größen eingesetzt werden.
CSS-Code
.container {
width: 80%;
max-width: 600px;
margin: 0 auto;
}
Ergebnis
9. Responsive Bilder
Bilder sollten sich an die Breite ihres Containers anpassen können.
CSS-Code
img {
max-width: 100%;
height: auto;
}
Mit max-width: 100% wird verhindert, dass ein Bild größer als sein Container dargestellt wird.
Beispiel
10. Responsive Schriftgrößen mit clamp()
Die CSS-Funktion clamp() ermöglicht flexible Größen mit einem Mindestwert und einem Höchstwert.
CSS-Code
h1 {
font-size: clamp(20px, 4vw, 38px);
}
Der Browser berechnet eine flexible Schriftgröße, die mindestens 20px und höchstens 38px beträgt.
Ergebnis
Responsive Überschrift
11. Responsive Navigation
Auf kleinen Bildschirmen kann eine horizontale Navigation in eine vertikale Navigation umgewandelt werden.
CSS-Code
.navigation {
display: flex;
gap: 10px;
}
@media (max-width: 480px) {
.navigation {
flex-direction: column;
}
}
Ergebnis
12. Responsive Seitenlayout
Auf großen Bildschirmen können Sidebar und Inhalt nebeneinander stehen.
Auf kleinen Bildschirmen werden die Bereiche untereinander angeordnet.
CSS-Code
.layout {
display: grid;
grid-template-columns: 180px 1fr;
gap: 15px;
}
@media (max-width: 768px) {
.layout {
grid-template-columns: 1fr;
}
}
Ergebnis
Hauptinhalt
Dieser Inhaltsbereich passt sich an die Bildschirmgröße an.
13. Interaktive Geräte-Vorschau
Wählen Sie eine Bildschirmgröße aus. Die Vorschau zeigt, wie sich ein Layout bei unterschiedlichen Viewport-Breiten verändert.
Desktop-Vorschau
14. Typische Fehler beim Responsive Design
| Fehler | Lösung |
|---|---|
| Zu breite Inhalte | max-width und flexible Breiten verwenden |
| Zu kleine Schrift | Gut lesbare Schriftgrößen verwenden |
| Navigation passt nicht | Flexbox, Umbruch oder mobile Navigation |
| Bilder laufen über | max-width: 100%; height: auto; |
| Zu viele feste Pixelwerte | Relative Einheiten und minmax() verwenden |
| Horizontales Scrollen | Breiten, Grid-Spalten und überlaufende Inhalte prüfen |
15. Praktische Übungen
Aufgabe 1
Was bedeutet Responsive Webdesign?
Lösung anzeigen
Das Layout einer Webseite passt sich an unterschiedliche Bildschirmgrößen an.
Aufgabe 2
Schreiben Sie eine Media Query für Bildschirmbreiten bis einschließlich 600px.
Lösung anzeigen
@media (max-width: 600px) {
/* CSS-Regeln */
}
Aufgabe 3
Erstellen Sie ein Grid mit einer Spalte auf kleinen Bildschirmen und zwei Spalten ab 768px.
Lösung anzeigen
.grid {
display: grid;
grid-template-columns: 1fr;
}
@media (min-width: 768px) {
.grid {
grid-template-columns: repeat(2, 1fr);
}
}
Aufgabe 4
Wie verhindert man, dass Bilder breiter als ihr Container werden?
Lösung anzeigen
img {
max-width: 100%;
height: auto;
}
Aufgabe 5
Was bedeutet Mobile First?
Lösung anzeigen
Zuerst wird das Layout für kleine Bildschirme erstellt. Anschließend wird es für größere Bildschirme erweitert.
Aufgabe 6
Erstellen Sie eine flexible Schriftgröße zwischen 18px und 36px.
Lösung anzeigen
h1 {
font-size: clamp(18px, 4vw, 36px);
}
Aufgabe 7
Ändern Sie eine horizontale Flex-Navigation unterhalb von 480px in eine vertikale Navigation.
Lösung anzeigen
.navigation {
display: flex;
}
@media (max-width: 479px) {
.navigation {
flex-direction: column;
}
}
Aufgabe 8
Welche HTML-Angabe ist für die korrekte Viewport-Skalierung auf Smartphones wichtig?
Lösung anzeigen
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
Aufgabe 9
Erstellen Sie einen Container mit 90% Breite und einer maximalen Breite von 1100px.
Lösung anzeigen
.container {
width: 90%;
max-width: 1100px;
margin: 0 auto;
}
Aufgabe 10
Warum sollten Breakpoints nicht ausschließlich nach bestimmten Gerätemodellen ausgewählt werden?
Lösung anzeigen
Geräte besitzen unterschiedliche Viewport-Größen. Breakpoints sollten dort eingesetzt werden, wo das Layout eine Anpassung benötigt.
16. Zusammenfassung
Responsive Webdesign sorgt dafür, dass Webseiten auf unterschiedlichen Bildschirmgrößen benutzerfreundlich bleiben.
Mit Media Queries können CSS-Regeln abhängig von der Viewport-Breite angewendet werden.
Mobile First, flexible Breiten, responsive Bilder, CSS Grid, Flexbox und clamp() sind wichtige Werkzeuge für moderne responsive Webseiten.