Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I retrieve an HTML element's actual width and height?

Suppose that I have a <div> that I wish to center in the browser's display (viewport). To do so, I need to calculate the width and height of the <div> element.

What should I use? Please include information on browser compatibility.

like image 596
snortasprocket Avatar asked Nov 16 '08 19:11

snortasprocket


1 Answers

You should use the .offsetWidth and .offsetHeight properties. Note they belong to the element, not .style.

var width = document.getElementById('foo').offsetWidth;

Function .getBoundingClientRect() returns dimensions and location of element as floating-point numbers after performing CSS transforms.

> console.log(document.getElementById('id').getBoundingClientRect()) DOMRect {     bottom: 177,     height: 54.7,     left: 278.5,​     right: 909.5,     top: 122.3,     width: 631,     x: 278.5,     y: 122.3, } 
like image 90
Greg Avatar answered Sep 16 '22 18:09

Greg