Responsive Web Design
Die Grundidee von Responsive Web Design ist es, dass eine Webseite auf verschiedenen Geräten und Bildschirmgrößen gut lesbar und bedienbar ist.
Durch die verschiedenen Größen von Geräten, wie Smartphones, Tablets und Desktops, ist es nicht möglich, eine Webseite für alle Geräte zu erstellen.
Daher gibt es Media Queries, die es ermöglichen, verschiedene Layouts für verschiedene Bildschirmgrößen zu definieren.
Es ist kein JavaScript notwendig und kann mit HTML und CSS umgesetzt werden.
Für die richtige Umsetzung von Responsive Web Design ist es wichtig, folgende Regeln zu beachten:
- Keine festen Werte für Breite und Höhe verwenden
- Auf standardmäßige Größen zurückgreifen
- Verwendung von Media Queries
Viewport
Der Viewport ist der sichtbare Bereich des Browsers. Durch die Angabe des Viewports kann der Browser auf die richtige Bildschirmgröße skalieren.
<meta name="viewport" content="width=device-width, initial-scale=1.0">width=device-width: Die Breite des Viewports wird auf die Breite des Geräts gesetzt.initial-scale=1.0: Die Seite wird mit einem Maßstab von 1:1 (100%) angezeigt.
Media Queries
Media Queries sind Bedingungen, die erfüllt sein müssen, damit ein bestimmtes Layout angewendet wird.
Gesetzt werden Queries durch @media (condition) { ... }.
Wenn die Bildschirmbreite kleiner als 600px ist, wird der Body rot.
@media (max-width: 600px) {
body {
background-color: red;
}
}Syntax
@media not|only mediatype and (condition and|or|not condition) { ... }
- mediatype:
all(Standard)printDruckausgabescreenBildschirmspeechSprachausgabe
- condition: (Media Features)
widthBreite des Viewportsmin-widthMindestbreite des Viewportsmax-widthMaximale Breite des ViewportsheightHöhe des Viewportsmin-heightMindesthöhe des Viewportsmax-heightMaximale Höhe des ViewportsorientationAusrichtung des ViewportsportraitHochformatlandscapeQuerformat
aspect-ratioVerhältnis von Breite zu Höhemin-aspect-ratioMindestverhältnis von Breite zu Höhemax-aspect-ratioMaximales Verhältnis von Breite zu Höhe
colorFarbtiefe des Viewportsmin-colorMindestfarbtiefe des Viewportsmax-colorMaximale Farbtiefe des Viewports
hoverPrüft ob Hover möglich isthoverHover möglichnoneHover nicht möglichpointerPrüft ob ein Zeiger möglich ist
Conditions lassen sich mit and, or (,) und not verknüpfen.
@media (max-width: 600px) and (orientation: portrait) {
body {
background-color: red;
}
}