Media-Queries in CSS
Mit CSS ist es möglich, für unterschiedliche Medien (z. B. den Ausdruck) eine Webseite komplett umzugestalten. Dazu gibt es in CSS die sogenannten Media-Queries. Sie können für unterschiedliche Medien entweder unterschiedliche CSS-Dateien verwenden oder innerhalb der CSS-Datei Media-Anweisungen notieren. Doch zunächst schauen wir uns die unterschiedlichen Medientypen an:
all | Gilt für alle Medientypen. |
---|---|
screen | Gilt für die Darstellung auf dem Bildschirm. |
projection | Gilt für die Darstellung auf Projektoren. |
handled | Gilt für die Darstellung auf tragbaren Computern. |
tv | Gilt für die Darstellung auf TV-Geräten. |
Gilt für die Ausgabe auf Papier. | |
aural | Gilt für die sprachliche Ausgabe. |
Wichtig: Von der oben genannten Medientypen sind, neben dem Typ all
, eigentlich fast nur screen
und print
von Bedeutung.
Haben wir uns dazu entschieden die CSS-Anweisungen der unterschiedlichen Medientypen in mehrere Dateien aufzuteilen, so müssen wir im link
-Element lediglich das media
-Attribut verwenden:
<link rel="stylesheet" href="bildschirm.css" media="screen" /> <link rel="stylesheet" href="druck.css" media="print" />
Wie bereits oben erwähnt, ist es jedoch auch möglich, innerhalb der gleichen CSS-Datei unterschiedliche Medientypen zu integrieren. Dafür muss der CSS-Code, welcher nur für ein bestimmtes Medium gelten soll innerhalb eines @media
-Blocks notiert wird. Dies sieht dann z. B. so aus:
@media screen { /* Gilt für die Darstellung auf Bildschirmen */ } @media print { /* Gilt für die Ausgabe auf Papier */ }
Übrigens: Es ist gängige Praxis, ein Basislayout zu besitzen, welches für alle Medientypen verfügt und dann dieses über Mediaanweisungen (z. B. das Ausblenden der Navigationsleiste beim Druck) zu erweitern.
Wichtig: Ein Tutorial zu Media-Queries (auch in Bezug auf responsives Webdesign) finden Sie in unserem CSS-Kurs.