Element.getBoundingClientRect()

Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

Die Methode Element.getBoundingClientRect()  gibt die Größe eines Elementes und dessen relative Position zum Viewport wieder.

 

Syntax

rectObject = object.getBoundingClientRect();

Rückgabe

Der zurückgegebene Wert ist ein DOMRect Objekt, welches die Vereinigungsmenge aller von getClientRects() zurückgegebenen Rechtecken eines Elementes darstellt. Beispielsweise den CSS border-boxes, die mit dem Element verknüpft sind.

Der zurückgegebene Wert ist ein DOMRect Objekt, das die Eigenschaften left,top,right und bottom ausliest, welche die border-box in Pixeln beschreibt: Top und left sind relative zu top-left des Viewports.

Merke: Gecko 1.9.1 addiert die Eigenschaften Breite und Höhe zu dem DOMRect Objekt hinzu.

Leere Borderboxen, sofern leer, werden komplett ignoriert. Ein Rechteck mit Breiten- und Höhenwerten von Null wird stattdessen zurückgegeben, und wo top und left den top-left Werten der Border-Box der ersten CSSbox(in Reihenfolge des Inhaltes) entsprechen.

Bei der Berechnung des Recheckes werden sowohl scrollbare Elemente sowie Scrolling an sich(wie viel bereits gescrollt wurde) mit einbezogen. Das bedeutet, dass die top und left Eigenschaften ihre Werte verändern, sobald sich deren Scrollposition verändert(d.h. ihre Werte sind relativ zum Viewport und nicht absolut). Ist dieses Verhalten nicht erwünscht, wird die momentane Scrollposition zu den jeweiligen top und left Eigenschaften(mittels window.scrollX und window.scrollY), um konstante Werte, die unabhängig von der derzeitigen Scrollposition sind.

Um Browserkompabilität zu gewährleisten, benutzen Sie window.pageXOffset und window.pageYOffset statt window.scrollY und window.scrollX. Sollten window.pageXOffsetwindow.pageYOffsetwindow.scrollX and window.scrollY undefined sein, nutzen Sie (((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollLeft == 'number' ? t : document.body).ScrollLeft and (((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollTop == 'number' ? t : document.body).ScrollTop.

Beispiel

// rect is a DOMRect object with four properties: left, top, right, bottom
var rect = obj.getBoundingClientRect();

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 3.0 (1.9) 4.0 [1] (Ja) 4.0
width/height (Ja) 3.5 (1.9.1) 9 (Ja) (Ja)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 2.0 1.0 1.0 (1.9) 6.0 (Ja) 4.0

[1] In IE8 und darunter fehlen dem von der Methode getBoundingClientRect() zurückgegebenen DOMRect die Eigenschaften Breite und Höhe. Desweiteren können zusätzliche Eigenschaften(u.a. Breite und Höhe) nicht zu den DOMRect hinzuaddiert werden.

In Gecko 12.0 wird der Effekt von CSS transforms bei der Berechnung von Begrenzungsrechtecken eines Elementes berücksichtigt.

Specification

Notes

getBoundingClientRect() wurde erstmals im DHTML Objektmodell von MS IE implementiert.

Der Rückgabewert von getBoundingClientRect() ist konstant, es können keine weiteren Eigenschaften hinzugefügt werden.

See also

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: jens-duttke, ohlupo
 Zuletzt aktualisiert von: jens-duttke,