-
client
-
document.body
或DOM
的.clientWidth
=可视部分宽度 + padding左右宽度 - 滚动条宽度
。使用方式:
document.documentElement.clientWidth || document.body.clientWidth
。 -
document.body
或DOM
的.clientLeft
=border左宽度
。
-
-
offset
-
document.body
或DOM
的.offsetWidth
=可视部分宽度 + padding左右宽度 + border左右宽度
。 -
document.body
或DOM
的.offsetLeft
相对于
offsetParent
(祖先节点有定位或body)。-
ie6/7:
.offsetLeft
=当前元素的margin左宽度 + offsetParent的(padding左宽度)
。 -
ie8/9/10、Chrome:
.offsetLeft
=当前元素的margin左宽度 + offsetParent的(padding左宽度 + margin左宽度 + border左宽度)
。 -
Firefox:
.offsetLeft
=当前元素的margin左宽度 + offsetParent的(padding左宽度 + margin左宽度)
。
-
-
-
scroll
-
.scrollWidth
document.body
和DOM
有区别。-
document.body
-
给定宽度 < 浏览器窗口宽度:
document.body.scrollWidth
=浏览器窗口宽度
。 -
内容宽度 < 给定宽度 > 浏览器窗口宽度:
document.body.scrollWidth
=给定宽度 + padding左右宽度 + border左右宽度 + margin左右宽度
。 -
内容宽度 > 给定宽度 > 浏览器窗口宽度:
document.body.scrollWidth
=内容宽度 + padding未超出边宽度 + border未超出边宽度 + margin未超出边宽度
。
-
-
DOM
-
内容宽度 < 给定宽度
-
无滚动条:
DOM.scrollWidth
=DOM.clientWidth
=给定宽度 + padding左右宽度
。 -
有滚动条:
DOM.scrollWidth
=内容宽度 + padding左右宽度
。
-
-
-
-
.scrollLeft
可读写。是内容宽度超出其宽度时,元素被卷起的宽度。
-