Ermittlung der Abmessungen von Elementen

Es gibt mehrere Eigenschaften, die Sie betrachten können, um die Breite und Höhe von Elementen zu bestimmen, und es kann knifflig sein herauszufinden, welche für Ihre Bedürfnisse die richtige ist. Dieser Artikel soll Ihnen helfen, diese Entscheidung zu treffen. Beachten Sie, dass alle diese Eigenschaften schreibgeschützt sind. Wenn Sie die Breite und Höhe eines Elements festlegen möchten, verwenden Sie die Eigenschaften width und height oder die überlagernden min-width und max-width, sowie min-height und max-height.

Wie viel Platz nimmt es ein?

Wenn Sie wissen müssen, wie viel Platz ein Element insgesamt einnimmt, einschließlich der Breite des sichtbaren Inhalts, Scrollleisten (falls vorhanden), Polsterung und Rahmen, sollten Sie die Eigenschaften HTMLElement.offsetWidth und HTMLElement.offsetHeight verwenden. Meistens entsprechen diese der Breite und Höhe von Element.getBoundingClientRect(), wenn keine Transformationen auf das Element angewendet wurden. Im Fall von Transformationen geben offsetWidth und offsetHeight die Layout-Breite und -Höhe des Elements zurück, während getBoundingClientRect() die Rendering-Breite und -Höhe angibt. Ein Beispiel: Wenn das Element width: 100px; und transform: scale(0.5); hat, wird getBoundingClientRect() 50 als Breite zurückgeben, während offsetWidth 100 zurückgibt. Ein weiterer Unterschied ist, dass offsetWidth und offsetHeight die Werte auf ganze Zahlen runden, während getBoundingClientRect() präzisere Werte mit Dezimalstellen liefert.

Wie die Eigenschaften offsetWidth und offsetHeight unter Berücksichtigung von Polsterungen, Rahmen und Randgrößen bestimmt werden

Wie groß ist der angezeigte Inhalt?

Wenn Sie wissen müssen, wie viel Platz der tatsächlich angezeigte Inhalt einnimmt, einschließlich der Polsterung, aber ohne Rahmen, Ränder oder Scrollleisten, sollten Sie die Eigenschaften Element.clientWidth und Element.clientHeight verwenden:

Wie die Eigenschaften clientWidth und clientHeight unter Berücksichtigung von Polsterungen, Rahmen und Randgrößen bestimmt werden

Wie groß ist der Inhalt?

Wenn Sie die tatsächliche Größe des Inhalts kennen müssen, unabhängig davon, wie viel davon derzeit sichtbar ist, müssen Sie die Eigenschaften Element.scrollWidth und Element.scrollHeight verwenden. Diese geben die Breite und Höhe des gesamten Inhalts eines Elements zurück, auch wenn derzeit nur ein Teil davon aufgrund der Verwendung von Scrollleisten sichtbar ist.

Zum Beispiel: Wenn ein 600x400 Pixel großes Element in einem 300x300 Pixel großen Scrollcontainer angezeigt wird, gibt scrollWidth den Wert 600 zurück, während scrollHeight den Wert 400 zurückgibt.

Siehe auch