Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Window: matchMedia() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Die matchMedia() Methode der Window Schnittstelle gibt ein neues MediaQueryList Objekt zurück, das dann verwendet werden kann, um festzustellen, ob das document der Media Query Zeichenfolge entspricht, sowie um das Dokument zu überwachen, um festzustellen, wann es diese Media Query erfüllt (oder nicht mehr erfüllt).

Syntax

js
matchMedia(mediaQueryString)

Parameter

mediaQueryString

Ein String, der die zu analysierende Media Query in eine MediaQueryList angibt.

Genau wie in CSS muss jedes Medienmerkmal in Klammern innerhalb des Ausdrucks geschrieben werden. Zum Beispiel: matchMedia("(width <= 600px)") oder matchMedia("(orientation: landscape)") funktionieren, während matchMedia("width < 600px") oder matchMedia("orientation: landscape") nicht funktionieren. Schlüsselwörter für Medientypen (all, print, screen) und logische Operatoren (and, or, not, only) müssen nicht in Klammern geschrieben werden.

Rückgabewert

Ein neues MediaQueryList Objekt für die Media Query. Verwenden Sie die Eigenschaften und Events dieses Objekts, um Übereinstimmungen zu erkennen und um Änderungen an diesen Übereinstimmungen im Laufe der Zeit zu überwachen.

Hinweise zur Verwendung

Sie können die zurückgegebene Media Query verwenden, um sowohl sofortige als auch ereignisgesteuerte Prüfungen durchzuführen, um festzustellen, ob das Dokument der Media Query entspricht.

Um eine einmalige, sofortige Prüfung durchzuführen, ob das Dokument der Media Query entspricht, sehen Sie sich den Wert der matches Eigenschaft an, die true ist, wenn das Dokument die Anforderungen der Media Query erfüllt.

Wenn Sie ständig darüber informiert werden möchten, ob das Dokument der Media Query entspricht oder nicht, können Sie stattdessen das change Ereignis beobachten, das an das Objekt gesendet wird. Es gibt ein gutes Beispiel dafür im Artikel über Window.devicePixelRatio.

Beispiele

Dieses Beispiel führt die Media Query (width <= 600px) aus und zeigt den Wert der resultierenden MediaQueryList-Eigenschaft matches in einem <span>; dementsprechend wird die Ausgabe "true" anzeigen, wenn der Viewport 600 Pixel breit oder weniger ist, und "false" anzeigen, wenn das Fenster breiter ist.

JavaScript

js
let mql = window.matchMedia("(width <= 600px)");

document.querySelector(".mq-value").innerText = mql.matches;

Der JavaScript-Code übergibt die zu analysierende Media Query an matchMedia(), um sie zu kompilieren, und setzt dann den innerText des <span> auf den Wert der matches-Eigenschaft der Ergebnisse, sodass angezeigt wird, ob das Dokument der Media Query zum Zeitpunkt des Seitenladevorgangs entspricht oder nicht.

HTML

html
<span class="mq-value"></span>

Ein einfaches <span>, um die Ausgabe zu empfangen.

Ergebnis

Besuchen Sie Testing media queries programmatically für zusätzliche Codebeispiele.

Spezifikationen

Specification
CSSOM View Module
# dom-window-matchmedia

Browser-Kompatibilität

Siehe auch