標籤:border ntb http 內容 win 不同 單位 off htm
在進行前端頁面開發時,width(width,offsetWidth,scrollWidth,clientWidth)height(height,offsetHeight,scrollHeight,clientHeight)是我們最容易搞混亂的
這裡就特別記錄一下:
1、offsetWidth width+padding+border)
當前對象的寬度。
style.width也是當前對象的寬度(width+padding+border)。
區別:1)style.width傳回值除了數字外還帶有單位px;
2)如對象的寬度設定值為百分比寬度,則無論頁面變大還是變小,
style.width都返回此百分比,而offsetWidth則返回在不同頁面中對象的寬度值而不是百分比值;
3)如果沒有給 HTML 元素指定過 width樣式,則 style.width 返回的是Null 字元串;
2、offsetHeight :(Height+padding+border)
當前對象的高度。
style.height也是當前對象的高度(height+padding+border)。
區別:1)style.height傳回值除了數字外還帶有單位px;
2)如對象的高度設定值為百分比高度,則無論頁面變高還是變矮,
style.height都返回此百分比,而offsetHeight則返回在不同頁面中對象的高度值而不是百分比值;
3)如果沒有給 HTML 元素指定過 height樣式,則 style.height返回的是Null 字元串;
3、offsetLeft :
當前對象到其上級層左邊的距離。
不能對其進行賦值.設定對象到其上級層左邊的距離請用style.left屬性。
style.left當前對象到其上級層左邊的距離。
區別:1)style.left傳回值除了數字外還帶有單位px;
2)如對象到其上級層左邊的距離設定值為百分比,
style.left返回此百分比,而offsetLeft則返回到其上級層左邊的距離的值;
3)如果沒有給 HTML 元素指定過 left樣式,則 style.left返回的是Null 字元串;
4、offsetTop :
當前對象到其上級層頂部邊的距離。
不能對其進行賦值.設定對象到上級層頂部邊的距離請用style.top屬性。
style.top當前對象到其上級層頂部邊的距離。
區別:1)style.top傳回值除了數字外還帶有單位px;
2)如對象到其上級層頂部邊的距離設定值為百分比,
style.top返回此百分比,而offsetTop則返回到其上級頂部邊的距離的值;
3)如果沒有給 HTML 元素指定過 top樣式,則 style.top返回的是Null 字元串;
注意:如果上級層為body,由於IE、FF對padding、margin的解釋不一樣所以要明確規定處理不是下列的區別就不成立了。
IE 1)如果Div的上級層是body,而div與body之間有個div,如body->div->divo;divo的offsetTop=div的padding+margin+boder;
2)如果Div的上級層是body,如body>divo;divo的offsetTop=div的padding+margin+boder;
這divo的offsetTop=divo的margin >body.padding則為divo的margin,否則為body.padding誰大是誰?
FF 上述兩種情況:offsetTop=margin+padding ;
(IE與FF中的body預設padding為10)在IE6.0 FF3.6.13
5、scrollWidth:擷取對象的滾動寬度 。
6、scrollHeight: 擷取對象的滾動高度。
7、scrollLeft:設定或擷取位於對象左邊界和對象中目前可見內容的最左端之間的距離(width+padding為一體)
8、scrollTop:設定或擷取位於對象最頂端和對象中可見內容的最頂端之間的距離;(height+padding為一體)
9、clientWidth: 擷取對象可見內容的寬度,不包括捲軸,不包括邊框;
10、clientHeight: 擷取對象可見內容的高度,不包括捲軸,不包括邊框;
11、clientLeft: 擷取對象的border寬度
12、clientTop:擷取對象的border高度
13、offsetParent :當前對象的上級層對象.
HTML: width,height