Responsives Webdesign
Responsives Webdesign bezeichnet die Gestaltung und Entwicklung von Webseiten,
die sich automatisch an unterschiedliche Bildschirmgrößen und
Nutzungssituationen anpassen.
Eine responsive Webseite soll sowohl auf kleinen Smartphones als auch auf
Tablets, Notebooks und großen Desktop-Bildschirmen gut lesbar und bedienbar
bleiben. Dabei wird nicht für jedes Gerät eine eigene Webseite erstellt.
Stattdessen passt sich ein gemeinsames Layout flexibel an den verfügbaren
Platz an.
Responsives Webdesign orientiert sich nicht an bestimmten Geräten, sondern am
verfügbaren Platz und am Inhalt der Webseite.
Ziele des responsiven Webdesigns
Responsives Webdesign soll unabhängig von der Bildschirmgröße ein möglichst
gutes Benutzererlebnis ermöglichen.
- Texte sollen ohne Vergrößerung gut lesbar sein.
-
Inhalte sollen nicht seitlich aus dem sichtbaren Bereich herausragen.
-
Navigationen und Bedienelemente sollen leicht erreichbar und bedienbar
bleiben.
-
Bilder, Videos und andere Medien sollen sich an den verfügbaren Platz
anpassen.
-
Layoutbereiche sollen je nach Platz nebeneinander oder untereinander
dargestellt werden.
-
Die wichtigsten Inhalte und Funktionen sollen auf allen Geräten verfügbar
bleiben.
Grundlagen eines responsiven Designs
| Grundlage |
Beschreibung |
Typische Techniken |
| Flexibles Layout |
Breiten und Abstände passen sich an den verfügbaren Platz an.
|
Prozentwerte, fr, Flexbox, Grid,
min(), max() und
clamp()
|
| Responsive Medien |
Bilder, Videos und andere Medien überschreiten ihren verfügbaren
Bereich nicht.
|
max-width: 100%, height: auto,
object-fit, picture und
srcset
|
| Media Queries |
CSS-Regeln werden abhängig von Eigenschaften des Viewports oder
Geräts angewendet.
|
@media (min-width: 48rem)
|
| Mobile First |
Die Basisgestaltung wird für wenig verfügbaren Platz entwickelt und
anschließend für größere Bereiche erweitert.
|
Basis-CSS ohne Media Query und Erweiterungen mit
min-width
|
| Container Queries |
Eine Komponente reagiert auf die Größe ihres eigenen Containers und
nicht nur auf die Größe des Viewports.
|
container-type und @container
|
Responsive Gestaltungsebenen
Bei einem responsiven Design müssen mehrere Ebenen gemeinsam berücksichtigt
werden.
| Ebene |
Beispiele |
| Seitenstruktur |
Header, Navigation, Hauptinhalt, Seitenleiste und Footer
|
| Layout |
Spalten, Reihen, Abstände und die Anordnung von Inhaltsbereichen
|
| Typografie |
Schriftgröße, Zeilenlänge, Zeilenhöhe und Abstände
|
| Medien |
Bilder, Videos, Grafiken und eingebettete Inhalte
|
| Bedienung |
Navigationen, Schaltflächen, Formulare sowie Maus- und
Tastaturbedienung
|
| Benutzerpräferenzen |
Reduzierte Bewegung, Farbschema und erhöhter Kontrast
|
Breakpoints nach dem Inhalt festlegen
Ein Breakpoint ist eine Stelle, an der das Layout verändert wird. Breakpoints
sollten nicht ausschließlich nach bekannten Gerätebreiten ausgewählt werden.
Entscheidend ist, wann das vorhandene Layout nicht mehr ausreichend Platz
besitzt.
Ein Breakpoint kann beispielsweise notwendig werden, wenn:
- eine Navigation nicht mehr in eine Zeile passt,
- Textspalten zu schmal oder zu breit werden,
- Karten nicht mehr sinnvoll nebeneinander dargestellt werden können,
- Bedienelemente zu eng beieinanderliegen,
- oder wichtige Inhalte unübersichtlich werden.
Bezeichnungen wie „Smartphone“, „Tablet“ und „Desktop“ können bei der
Orientierung helfen. Ein gutes responsives Layout richtet seine Breakpoints
jedoch nach dem tatsächlichen Platzbedarf des Inhalts.
Responsive Design und Barrierefreiheit
Responsives Webdesign betrifft nicht nur die optische Darstellung. Die Seite
muss auch bei vergrößerter Schrift, unterschiedlichen Eingabemethoden und
individuellen Benutzereinstellungen bedienbar bleiben.
- Inhalte dürfen bei Textvergrößerung nicht abgeschnitten werden.
-
Bedienelemente müssen ausreichend groß sein und genügend Abstand besitzen.
-
Die Reihenfolge der Inhalte muss auch bei verändertem Layout verständlich
bleiben.
-
Funktionen dürfen nicht ausschließlich von Hover-Effekten abhängig sein.
-
Navigationen und Formulare müssen mit der Tastatur bedienbar bleiben.
-
Benutzerwünsche wie reduzierte Bewegung sollten berücksichtigt werden.
Typischer Arbeitsablauf
- Inhalte und semantische HTML-Struktur festlegen.
- Ein übersichtliches Basislayout für kleine verfügbare Breiten erstellen.
- Flexible Größen für Layout, Typografie und Medien verwenden.
-
Das Layout langsam vergrößern und problematische Stellen beobachten.
-
Nur dort Breakpoints ergänzen, wo der Inhalt eine Anpassung benötigt.
-
Die Seite mit unterschiedlichen Bildschirmgrößen, Zoomstufen und
Eingabemethoden testen.
Ein responsives Design entsteht nicht durch möglichst viele Media Queries,
sondern durch flexible Grundlagen und gezielte Anpassungen.
Viewport
Der Viewport ist der sichtbare Bereich einer Webseite im Browser. Seine Größe
hängt unter anderem vom verwendeten Gerät, der Größe des Browserfensters und der
eingestellten Vergrößerung ab.
Auf Desktop-Computern entspricht der Viewport normalerweise dem Inhaltsbereich des
Browserfensters. Auf Smartphones ist zusätzlich die richtige Viewport-Einstellung
erforderlich, damit die tatsächliche Gerätebreite für das responsive Layout
verwendet wird.
Das Viewport-Meta-Element
Das Viewport-Meta-Element wird im <head> des
HTML-Dokuments eingefügt:
<meta
name="viewport"
content="width=device-width, initial-scale=1"
>
In einer vollständigen HTML-Datei befindet es sich beispielsweise an dieser
Stelle:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta
name="viewport"
content="width=device-width, initial-scale=1"
>
<title>Responsive Webseite</title>
</head>
<body>
<h1>Responsive Webseite</h1>
</body>
</html>
Ohne eine passende Viewport-Einstellung können mobile Browser die Webseite mit
einer größeren virtuellen Breite darstellen und anschließend verkleinern.
Responsive Breakpoints würden dadurch nicht wie erwartet reagieren.
Bedeutung der Angaben
| Angabe |
Bedeutung |
name="viewport" |
Legt fest, dass sich das Meta-Element auf den Viewport bezieht.
|
width=device-width |
Setzt die Breite des Layout-Viewports auf die Breite des Geräts.
|
initial-scale=1 |
Legt für den ersten Seitenaufruf ein Skalierungsverhältnis von
1 fest.
|
Layout-Viewport und visueller Viewport
Bei mobilen Geräten kann zwischen zwei Viewport-Bereichen unterschieden werden.
| Viewport |
Beschreibung |
| Layout-Viewport |
Der Bereich, den der Browser für die Berechnung des CSS-Layouts
verwendet.
|
| Visueller Viewport |
Der momentan tatsächlich sichtbare Bereich. Er kann sich beispielsweise
durch Zoomen oder durch die eingeblendete Bildschirmtastatur verändern.
|
Für die meisten responsiven Layouts ist vor allem der Layout-Viewport
entscheidend. Der visuelle Viewport wird insbesondere bei komplexen
Benutzeroberflächen und eingeblendeten Bildschirmtastaturen wichtig.
Zoomen nicht einschränken
Benutzer müssen eine Webseite vergrößern können. Deshalb sollten Angaben, die
das Zoomen verhindern oder stark einschränken, vermieden werden.
Ungünstige Einstellung
<meta
name="viewport"
content="
width=device-width,
initial-scale=1,
maximum-scale=1,
user-scalable=no
"
>
Besonders die folgenden Angaben können die Vergrößerung einschränken:
user-scalable=no
maximum-scale=1
Die Zoomfunktion ist für viele Menschen notwendig, um Texte und Bedienelemente
erkennen zu können. Sie sollte nicht deaktiviert werden.
Viewport-Einheiten
CSS stellt Einheiten bereit, die sich auf die Größe des Viewports beziehen.
| Einheit |
Bedeutung |
vw |
Ein Prozent der Breite des Viewports.
|
vh |
Ein Prozent der Höhe des Viewports.
|
vmin |
Ein Prozent der kleineren Viewport-Dimension.
|
vmax |
Ein Prozent der größeren Viewport-Dimension.
|
.hero {
min-height: 100vh;
}
h1 {
font-size: clamp(2rem, 5vw, 4rem);
}
Im Beispiel orientiert sich die Mindesthöhe des Hero-Bereichs an der Höhe des
Viewports. Die Überschrift wächst abhängig von der Viewport-Breite, bleibt aber
innerhalb der mit clamp() festgelegten Grenzen.
Dynamische Viewport-Einheiten
Auf mobilen Geräten können Browserleisten ein- und ausgeblendet werden. Dadurch
kann sich die tatsächlich verfügbare Höhe während der Nutzung verändern. Für
diesen Anwendungsfall stehen zusätzliche Viewport-Einheiten zur Verfügung.
| Einheit |
Bedeutung |
svh |
Bezieht sich auf die kleine Viewport-Höhe, bei der Browserleisten
berücksichtigt werden.
|
lvh |
Bezieht sich auf die große Viewport-Höhe, bei der Browserleisten
weitgehend ausgeblendet sind.
|
dvh |
Passt sich dynamisch an die aktuell verfügbare Viewport-Höhe an.
|
.fullscreen-section {
min-height: 100vh;
min-height: 100dvh;
}
Die erste Deklaration dient als Rückfalllösung. Browser, die
dvh unterstützen, verwenden anschließend die dynamische
Viewport-Höhe.
Breite Inhalte begrenzen
Ein responsives Layout soll den verfügbaren Platz nutzen. Auf sehr großen
Bildschirmen sollten Textbereiche jedoch nicht unbegrenzt breit werden.
.page-wrapper {
width: min(100% - 2rem, 75rem);
margin-inline: auto;
}
-
100% - 2rem lässt insgesamt zwei Rem Abstand zu den
Seitenrändern.
-
75rem begrenzt die maximale Breite des Inhalts.
-
margin-inline: auto zentriert den Bereich horizontal.
Zusammenfassung
-
Der Viewport ist der Bereich, für den der Browser das Layout berechnet und
darstellt.
-
Das Viewport-Meta-Element gehört in den
<head> jeder responsiven Webseite.
-
width=device-width verwendet die Gerätebreite als Grundlage des
Layout-Viewports.
-
initial-scale=1 legt die anfängliche Skalierung fest.
-
Die Zoomfunktion darf nicht durch ungeeignete Viewport-Angaben eingeschränkt
werden.
-
Dynamische Einheiten wie
dvh berücksichtigen veränderliche
Browseroberflächen auf mobilen Geräten.
Mit einer korrekten Viewport-Einstellung ist die wichtigste technische
Voraussetzung für ein responsives Layout erfüllt.