天天看點

JavaScript擷取html元素的實際寬度和高度

一、JavaScript擷取html元素寬高

1.寬高都寫在樣式表裡,就比如#div1{width:120px;}。這中情況通過#div1.style.width拿不到寬度,而通過#div1.offsetWidth才可以擷取到寬度。

2.寬和高是寫在行内中,比如style="width:120px;",這中情況通過上述2個方法都能拿到寬度。

小結,由于clientWidth和offsetWidth 無視樣式寫在樣式表還是行内,是以我們擷取元素寬和高的時候最好用這2個屬性。注意如果不是寫在行内style中的屬性都不能通過i**.style.atrr來擷取。

現在的前端制作很少直接把樣式寫style裡了,都是寫在樣式表裡。如果你要擷取的樣式沒有相對應的(就像#div1.style.width對 應#div1.offsetWidth),就隻能分别針對不用浏覽器來擷取樣式表的屬性了,可以試着搜尋“JS 擷取樣式屬性”之類的。

代碼:

var o = document.getElementById("view");

var h = o.offsetHeight;  //高度

var w = o.offsetWidth;  //寬度

二、width、clientWidth、offsetWidth 之間的關系

width是html元素的内容寬度

clientWidth = width + padding

offsetWidth = width + padding + border

轉載于:https://www.cnblogs.com/zhaoShanWei/p/6758183.html