CSS @media Regel
- Vorherige Seite max-width
- Nächste Seite min-block-size
Definition und Verwendung
@media Regeln werden in Media Queries verwendet, um unterschiedliche Stile für verschiedene Mediengattungen/Geräte anzuwenden.
Media Queries können zur Überprüfung vieler Dinge verwendet werden, wie z.B.:
- Breite und Höhe des Viewports
- Breite und Höhe des Geräts
- Richtung (ist das Telefon oder das Tablet in Landscape- oder Portraitmodus?)
- Auflösung
Die Verwendung von Media Queries ist eine beliebte Technologie, um benutzerdefinierte Stile für Desktop-Computer, Laptops, Tablets und Smartphones bereitzustellen (Responsive Web Design).
Sie können auch Media Queries verwenden, um bestimmte Stile nur für Druckdokumente oder Screen Reader anzuwenden (mediatype: print, screen oder speech).
Neben den Mediengattungen gibt es auch Media-Attribute. Media-Attribute bieten durch die Möglichkeit, spezifische Eigenschaften von Benutzeragenten oder Displaygeräten zu testen, zusätzliche spezifische Details für Media Queries. Zum Beispiel können Sie Stile nur auf Bildschirmen mit einer bestimmten Breite anwenden.
Siehe auch:
CSS-Tutorial:CSS Medienabfrage
CSS-Tutorial:CSS-Media Queries-Beispiel
RWD-Tutorial:Responsive Web Design durch Media Queries umsetzen
JavaScript-Referenzhandbuch:window.matchMedia() Methode
Beispiel
Beispiel 1
Wenn die Breite des Browserfensters 600px oder weniger beträgt, ändert die <body>-Elementfarbe in „hellblau":
@media only screen and (max-width: 600px) { body { background-color: lightblue; } }
Mehr TIY-Beispiele finden Sie unten auf der Seite.
CSS-Syntax
@media not|only mediatype and (mediafeature and|or|not mediafeature) { CSS-Code; }
Bedeutung von not, only und and:
not: Der not-Schlüssel kehrt die Bedeutung der gesamten Medienabfrage um.
only: Der only-Schlüssel verhindert, dass veraltete Browser bestimmte Stile anwenden, die nicht media-attribute unterstützen. Er hat keinen Einfluss auf moderne Browser.
und: Der und-Schlüssel kombiniert Media-Attribute mit Mediengattungen oder anderen Media-Attribute.
Sie sind optional. Wenn jedoch not oder only verwendet wird, muss auch der Mediengattung angegeben werden.
Sie können auch unterschiedliche Stile für verschiedene Medien verwenden, wie zum Beispiel:
<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css"> <link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css"> ....
Medientyp
Wert | Beschreibung |
---|---|
all | Standard. Für alle Mediengerätetypen. |
Für Drucker. | |
screen | Für Computerbildschirme, Tablets, Smartphones und ähnliches. |
speech | Für Screenreader, die Seiten zum Vorlesen verwenden. |
Media-Attribute
Wert | Beschreibung |
---|---|
any-hover |
Gibt es irgendein verfügbares Eingabemechanismus, der es dem Benutzer ermöglicht, auf Elemente zu hovering (z.B. Maus)? Wurde in Media Queries Level 4 hinzugefügt. |
any-pointer |
Gibt es unter den verfügbaren Eingabemechanismen irgendwelche Zeigegeräte, und wenn ja, wie hoch ist ihre Genauigkeit? Wurde in Media Queries Level 4 hinzugefügt. |
aspect-ratio | Das Breitenaufhöhenverhältnis des Viewports (Ansichtsbereichs). |
color |
Die Bitzahl pro Pixel des Ausgabegeräts, häufig 8, 16, 32 Bit. Wird das Gerät keine Farbausgabe unterstützen, dann ist dieser Wert 0. |
color-gamut |
Der大约 von Benutzeragent und Ausgabegerät unterstützte Farbraum. Wurde in Media Queries Level 4 hinzugefügt. |
color-index |
Die Anzahl der Einträge in der Farbsuchtabelle (color lookup table) des Ausgabegeräts. Wird der Gerät keine Farbsuchtabelle verwendet, dann ist dieser Wert 0. |
device-aspect-ratio |
Das Breitenaufhöhenverhältnis des Ausgabegeräts. Wird in Media Queries Level 4 abgekündigt. |
device-height |
Die Höhe der Renderfläche des Ausgabegeräts (z.B. des Bildschirms). Wird in Media Queries Level 4 abgekündigt. |
device-width |
Die Breite der Renderfläche des Ausgabegeräts (z.B. des Bildschirms). Wird in Media Queries Level 4 abgekündigt. |
display-mode |
Der Anzeigemodus der Anwendung, wie durch den Member "display" im Manifest einer Web App spezifiziert. Wird in der Web App Manifest spec definiert. |
forced-colors |
Ob der Benutzeragent die Palette einschränkt. Wurde in Media Queries Level 5 hinzugefügt. |
grid | Ob das Ausgabegerät ein rasterbasiertes oder ein punktabhängiges Display verwendet? |
height | Die Höhe des Viewports (Ansichtsbereichs). |
hover |
Ob das Haupteingabemechanismus es dem Benutzer erlaubt, den Cursor über einem Element zu lassen? Wurde in Media Queries Level 4 hinzugefügt. |
inverted-colors |
Ob das Browser oder das unterliegende Betriebssystem die Farben umgekehrt hat. Wurde in Media Queries Level 5 hinzugefügt. |
light-level |
Der aktuelle Lichtpegel der Umgebung. Wurde in Media Queries Level 5 hinzugefügt. |
max-aspect-ratio | Das maximale Verhältnis von Breite zu Höhe des Anzeigebereichs. |
max-color | Die maximale Anzahl von Bits für jeden Farbkomponenten der Ausgabegeräte. |
max-color-index | Die maximale Anzahl der Farben, die das Gerät anzeigen kann. |
max-height | Die maximale Höhe des Anzeigebereichs, z.B. des Browserfensters. |
max-monochrome | Die maximale Anzahl von Bits für jede "Farbe" auf monochromen (Graustufen) Geräten. |
max-resolution | Die maximale Auflösung des Geräts, angegeben in dpi oder dpcm. |
max-width | Das maximale Breite des Anzeigebereichs, z.B. des Browserfensters. |
min-aspect-ratio | Das minimale Verhältnis von Breite zu Höhe des Anzeigebereichs. |
min-color | Die minimale Anzahl von Bits für jeden Farbkomponenten der Ausgabegeräte. |
min-color-index | Die minimale Anzahl der Farben, die das Gerät anzeigen kann. |
min-height | Die minimale Höhe des Anzeigebereichs, z.B. des Browserfensters. |
min-monochrome | Die minimale Anzahl von Bits für jede "Farbe" auf monochromen (Graustufen) Geräten. |
min-resolution | Niedrigste Auflösung des Geräts, die in dpi oder dpcm angegeben wird. |
min-width | Mindestbreite des Anzeigebereichs, z.B. das Browserfenster. |
monochrome |
Bitdepth pro Pixel im monochromen Framebuffer des Ausgabegeräts. Wenn das Gerät kein Schwarz-Weiß-Bildschirm ist, beträgt der Wert 0. |
orientation | Richtung der Rotation des Viewports (Landschafts- oder Portraitmodus). |
overflow-block |
Wie behandelt das Ausgabegerät den Inhalt, der über den Block-Axen hinausgeht, im Viewport (viewport)? Wurde in Media Queries Level 4 hinzugefügt. |
overflow-inline |
Kann der Inhalt, der über den Inline-Axen hinausgeht, im Viewport (viewport) gescrollt werden? Wurde in Media Queries Level 4 hinzugefügt. |
pointer |
Ist das Haupteingabegerät ein Zeigergerät? Wenn ja, wie hoch ist seine Genauigkeit? Wurde in Media Queries Level 4 hinzugefügt. |
prefers-color-scheme |
Ob der Benutzer helle oder dunkle Farbschemata bevorzugt. Wurde in Media Queries Level 5 hinzugefügt. |
prefers-contrast |
Erkennen Sie, ob der Benutzer die Helligkeit oder Dunkelheit der Farbschemata bevorzugt. Wurde in Media Queries Level 5 hinzugefügt. |
prefers-reduced-motion |
Ob der Benutzer weniger dynamische Effekte auf der Seite haben möchte. Wurde in Media Queries Level 5 hinzugefügt. |
prefers-reduced-transparency |
Ob der Benutzer eine geringere Transparenz bevorzugt. Wurde in Media Queries Level 5 hinzugefügt. |
resolution | Auflösung des Ausgabegeräts, die in dpi oder dpcm angegeben wird. |
scan | Der Scanvorgang des Ausgabegeräts (z.B. Fernseher). |
scripting |
Erkennen Sie, ob Skripts (z.B. JavaScript) verfügbar sind. Wurde in Media Queries Level 5 hinzugefügt. |
update |
Häufigkeit, mit der das Rendering der aktualisierten Inhalte des Ausgabegeräts aktualisiert wird. Wurde in Media Queries Level 4 hinzugefügt. |
width | Breite des Viewports (viewport). |
Mehr Beispiele
Beispiel 2
Verbergen Sie Elemente, wenn die Breite des Browsers 600px oder weniger beträgt:
@media screen and (max-width: 600px) { div.example { display: none; } }
Beispiel 3
Wenn die Breite des Viewports 800 Pixel oder breiter ist, verwenden Sie die Media Queries, um die Hintergrundfarbe auf Lavendelblau zu setzen; wenn die Breite des Viewports zwischen 400 und 799 Pixel liegt, verwenden Sie die Media Queries, um die Hintergrundfarbe auf Hellgrün zu setzen. Wenn das Viewport kleiner als 400 Pixel ist, ist die Hintergrundfarbe Hellblau:
body { background-color: lightblue; } @media screen and (min-width: 400px) { body { background-color: hellgrün; } } @media screen and (min-width: 800px) { body { background-color: lavendel; } }
Beispiel 4
Erstellen Sie eine responsive Navigationsmenü (horizontal auf großen Bildschirmen angezeigt, vertikal auf kleinen Bildschirmen angezeigt):
@media screen and (max-width: 600px) { .topnav a { float: none; width: 100%; } }
Beispiel 5
Verwenden Sie Medienabfragen, um eine responsive Spaltenlayout zu erstellen:
/* Wechseln Sie von vier Spalten zu zwei Spalten, wenn die Breite 992px oder kleiner ist */ @media screen and (max-width: 992px) { .column { width: 50%; } } /* Stack die Spalten übereinander, wenn die Breite kleiner oder gleich 600 Pixel ist, anstatt nebeneinander zu legen */ @media screen and (max-width: 600px) { .column { width: 100%; } }
Beispiel 6
Verwenden Sie Medienabfragen, um eine responsives Webseiten zu erstellen:
Beispiel 7
Medienabfragen können auch verwendet werden, um die Seitenausrichtung basierend auf der Richtung des Browsers zu ändern. Sie können eine Gruppe von CSS-Eigenschaften schreiben, die nur dann gelten, wenn die Breite des Browserfensters größer als die Höhe ist (d.h. Querformat).
Verwenden Sie einen hellblauen Hintergrund, wenn die Richtung im Querformat liegt:
@media only screen and (orientation: landscape) { body { background-color: lightblue; } }
Beispiel 8
Stellen Sie die Textfarbe mit Medienabfragen so ein, dass sie grün ist, wenn das Dokument auf dem Bildschirm angezeigt wird, und schwarz, wenn es gedruckt wird:
@media screen { body { color: green; } } @media print { body { color: black; } }
Beispiel 9
Liste durch Komma getrennt: Fügen Sie eine weitere Medienabfrage zu einer bestehenden Medienabfrage hinzu, indem Sie Kommas verwenden (verhält sich wie der OR-Operator):
/* Ändern Sie das Erscheinungsbild des <div>, wenn die Breite zwischen 600px und 900px liegt oder größer als 1100px ist */ @media screen and (max-width: 900px) and (min-width: 600px), (min-width: 1100px) { div.example { font-size: 50px; padding: 50px; border: 8px solid black; background: yellow; } }
Browser-Unterstützung
Die Zahlen in der Tabelle weisen auf die erste Browserversion hin, die @media-Regeln vollständig unterstützt.
Chrome | IE / Edge | Firefox | Safari | Opera |
---|---|---|---|---|
21 | 9 | 3.5 | 4.0 | 9 |
- Vorherige Seite max-width
- Nächste Seite min-block-size