Media Queries

Media Queries ermöglichen es, CSS-Regeln abhängig von gerätespezifischen Attributen (Bildschirmgrösse, Pixeldichte), Ausgabegerät (Bildschirm, Drucker) oder Sensordaten des Geräts (Lichtsensor, ist es hell oder dunkel?) zu definieren.

Allgemeine Deklaration

@media <filter> {
    /**
     * Diese Regeln sind nur dann aktiv, wenn der
     * <filter> auf das Gerät des Besuchers zutrifft.
     */
}

Medien-Typen

Um einzelne Medien-Typen zu filtern, kann all, screen, print oder speech (spezielle Styles für Screenreader) verwendet werden.

body {
    background: red;
}

/**
 * Beim Ausdrucken der Website soll der Seitenhintergrund
 * nicht rot sein.
 */
@media print {
    body {
        background: none;
    }
}

Medien-Features

Media Queries lassen sich auf diverse Features anwenden. Eine Liste aller verfügbarer Features befindet sich hier: developer.mozilla.org/en-US/docs/Web/CSS/@media#Media_features.

Die Syntax setzt sich zusammen aus (feature-name: Wert).

Fensterbreite: min-width / max-width

Die mit Abstand am meisten verwendeten Features sind min-width und max-width. Damit kannst du dein Layout dynamisch auf die Bildschirmgrösse von Desktops, Tablets und Smartphones anpassen.

Achtung: Gerade wenn es um die Bildschirmbreite geht möchte man diese oft nur für Bildschirme anwenden, nicht etwa wenn die Website ausgedruckt wird. Aus diesem Grund macht es Sinn im Filter zwei Features mit dem and Operator zu verketten.

Verkettung mehrerer Bedingungen

Wie schon bei @media screen and (min-width: 1200px) kann ich auch mehrere Bedingungen verknüpfen, z.B. um nur bestimmte Fensterbreiten anzusprechen:

Fensterbreite: Media Query Range Syntax

Seit 2023 können auch Vergleichs-Operatoren genutzt werden, sog. media query range features:

Damit können auch Bereiche einfach abgefragt werden:

Ausrichtung: Hoch- / Querformat

Wenn ich wissen will, ob ein Bildschirm im Hoch- oder Querformat benutzt wird, kann ich dies abfragen:

Das eher unüblich, öfter wird einfach die Fensterbreite (min-width/max-width) abgefragt.

Helligkeit: light-level

Mit der CSS Media Queries Level 4 Spezifikation wurden viele neue Features eingeführt. Achtung: Manche davon werden momentan noch nicht in allen Browsern unterstützt.

Last updated

Was this helpful?