JavaScript/Screen/width
Die Eigenschaft width speichert die absolut verfügbare Breite des Anwenderbildschirms in Pixeln, besser bekannt als Breite der Bildschirmauflösung.
Syntax
breite = Screen.width;
Inhaltsverzeichnis
Anwendungsbeispiel
Zum Berechnen der Viewport- und Geräteabmessungen gibt es verschiedene Eigenschaften:
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener('resize',messen);
messen();
function messen() {
document.getElementById('clientW').textContent = document.querySelector('html').clientWidth;
document.getElementById('innerW').textContent = window.innerWidth;
document.getElementById('outerW').textContent = window.outerWidth;
document.getElementById('clientH').textContent = document.querySelector('html').clientHeight;
document.getElementById('innerH').textContent = window.innerHeight;
document.getElementById('outerH').textContent = window.outerHeight;
document.getElementById('screenW').textContent = screen.width;
document.getElementById('availW').textContent = screen.availWidth;
document.getElementById('screenH').textContent = screen.height;
document.getElementById('availH').textContent = screen.availHeight;
}
});
Sowohl beim Laden, als auch bei einer Änderung des Viewports, wenn das resize-Event gefeuert wird, wird die Funktion messen
aufgerufen.
In ihr werden die diversen Eigenschaften ermittelt und mit textContent in die passenden span-Elemente geschrieben.
Window.innerWidth und Window.innerHeight ermitteln die verfügbare Breite und Höhe des Viewports, während Window.outerWidth und Window.outerHeight eventuell vorhandene Scrollbars mitberechnen.
Screen.width und Screen.height ermitteln die Breite und Höhe des Bildschirms, während Screen.availWidth und Screen.availHeight die tatsächlich verfügbaren Maße ermitteln, indem sie vorhandene Taskbars abziehen.
Verwende entweder einen resizeObserver oder Window.matchMedia(), um deine Scripte effizienter laufen zu lassen!
Siehe auch
- JavaScript und CSS/CSS-Eigenschaften auslesen
auf Veränderungen reagieren
Obsolet: Ermitteln von Breakpoints
Früher wurde mit Screen.width
die Bildschirmbreite der Geräteabmessung ermittelt, um dann alternative Inhalte (die dann entsprechend fest positioniert waren) auszuliefern.
location.href = screen.width >= 1024 ? 'datei1.html' : 'datei2.html';
Dieses Beispiel geht von der oft falschen Prämisse aus, das Nutzer kleinerer Bildschirme nicht alle Inhalte sehen wollen. Diese Inhalte konnten in den verschiedenen Dateien entsprechend der Breakpoints mit festen Seitenbreiten und absoluten Positionierungen dargestellt werden.
Heutzutage verzichtet man nach den Regeln des responsiven Webdesigns auf feste Seitenbreiten und Positionierungen. Alternative Darstellungen können mittels media queries festgelegt werden.
Weblinks
- CSSWG: width
- MDN: Screen.width
datei1.html
geladen, wenn nicht, die Bildschirmbreite also kleiner ist, wirddatei2.html
geladen.