js盒子模型

2021-08-04 22:23:21 字數 1988 閱讀 1534

通過js中提供一系列的方法和屬性獲取頁面中元素的樣式資訊值;

內容的寬高:是給元素定義的width/height這兩個樣式。如果沒有設定height值,容器的高度會根據裡面內容自己適應,這樣獲取的值就是真實的內容的高;如果設定固定的高度,不管內容是多少,內容的高度指的都是設定的這個值;

真實內容的寬高:如果設定的height是200px,如果內容有溢位,那麼真實內容的高度是把溢位內容的高度也要加起來;

clientheight || clientwidth

//內容的寬度/高度+左右/上下填充(padding)

clientleft || clienttop

//左邊框/上邊框的高度

offsetheight || offsetwidth

//clientheight/clientwidth + 左右/上下邊框(和內容是否溢位沒有關係)

offsetparent

//當前元素的父級參照物

offsetleft || offsettop

//當前元素的外邊框距離父級參照物的內邊框的偏移量

計算元素距離body的上部和左部的距離

function

offset(el)

oleft += oparent.offsetleft;

otop += oparent.offsettop;

oparent = oparent.offsetparent;

}return

}offset(box2);//

注:在標準的ie8瀏覽器中,我們使用offsetleft/offsettop其實是把父級參照物的邊框已經算在內,在ie8瀏覽器下就不需要單獨加邊框了;

scrollheight || scrollwidth

//真實內容的高度/寬度(包含溢位)+ 左填充/上填充

//注:獲取到的結果都是約等於的值,因為同乙個瀏覽器是否設定overflow=hidden對於最終的結果是有影響的;在不同的瀏覽器中我們獲取的結果也是不同的。

scrolltop || scrollleft

//滾動條卷去的高度

clientwidth/clientheight是當前瀏覽器可視視窗的寬度和高度

scrollwidth/scrollheight是當前頁面的真實寬度和高度(所有屏的高度和寬度的和:是乙個約等於值)

要相容瀏覽器獲取瀏覽器盒子模型資訊我們需要這樣寫

document.documentelement[attr] || document.body[attr];

//documentelement在前body在後

//獲取

document.documentelement.clientwidth || document.body.clientwidth;

//設定

document.documentelement.scrolltop = 0;

document.body.scrolltop = 0;

function

win(attr,value)

document.documentelement[attr] = value;

document.body[attr] = value;

}win('clientwidth');

win('scrolltop',0);

js盒子模型

js盒子模型是指通過js中一系列的屬性和方法獲取頁面中元素的樣式資訊值 1 client系列 clientwidth 設定的寬度 width 內邊距 padding 2 clientheight 設定的高度 height 內邊距 padding 2 clientleft 左邊框的寬度 border的...

JS盒子模型

clientwidth 盒子寬度 左右的padding clientheight 盒子高度 上下的padding clientleft 盒子左邊框的寬度 clienttop 盒子上邊框的寬度 offsetwidth clientwidth 左右border offsetheight clienthe...

JS盒子模型

6.js盒子模型 3x4 1 13 個屬性 client系列 clientheight clientwidth 內容的寬度 高度 左右 上下填充 padding 和內容溢位沒有關係 不包括邊框高度 clinettop 上邊框的高度 clinetleft 左邊框的寬度 offset系列 offsetw...