HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
以上主要指IE之中,FireFox差异如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)
测试代码:
CODE:[Copy to clipboard]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" lang="gb2312">
<head>
<head>
<title> 代码实例:关于clientWidth、offsetWidth、clientHeight、offsetHeight的测试比较 </title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<meta name="author" content="枫岩,CnLei.y.l@gmail.com">
<meta name="copyright" content="
http://www.cnlei.com" />
<meta name="description" content="关于clientWidth、offsetWidth、clientHeight、offsetHeight的测试比较" />
<style type="text/css" media="all">
body {font-size:14px;}
a,a:visited {color:#00f;}
#Div_CnLei {
width:300px;
height:200px;
padding:10px;
border:10px solid #ccc;
background:#eee;
font-size:12px;
}
#Div_CnLei p {margin:0;padding:10px;background:#fff;}
</style>
<script type="text/javascript">
function Obj(s){
return document.getElementById(s)?document.getElementById(s):s;
}
function GetClientWidth(o){
return Obj(o).clientWidth;
}
function GetClientHeight(o){
return Obj(o).clientHeight;
}
function GetOffsetWidth(o){
return Obj(o).offsetWidth;
}
function GetOffsetHeight(o){
return Obj(o).offsetHeight;
}
</script>
</head>
<body>
<p>点击下面的链接:</p>
<div id="Div_CnLei">
<p><a href="javascript:alert(GetClientWidth('Div_CnLei'));">GetClientWidth();</a> <a href="javascript:alert(GetClientHeight('Div_CnLei'));">GetClientHeight();</a></p>
<p><a href="javascript:alert(GetOffsetWidth('Div_CnLei'));">GetOffsetWidth();</a> <a href="javascript:alert(GetOffsetHeight('Div_CnLei'));">GetOffsetHeight();</a></p>
</div>
<div id="Description">
<p><strong>IE6.0、FF1.06+:</strong><br />
clientWidth = width + padding = 300+10×2 = 320<br />
clientHeight = height + padding = 200+10×2 = 220<br />
offsetWidth = width + padding + border = 300+10×2+10×2= 340<br />
offsetHeight = height + padding + border = 200+10×2+10×2 = 240</p>
<p><strong>IE5.0/5.5:</strong><br />
clientWidth = width - border = 300-10×2 = 280<br />
clientHeight = height - border = 200-10×2 = 180<br />
offsetWidth = width = 300<br />
offsetHeight = height = 200</p>
</div>
</body>
</html>
分享到:
相关推荐
在JavaScript中,理解和掌握`scrollLeft`、`scrollWidth`、`clientWidth`以及`offsetWidth`这四个属性对于创建动态且响应式的网页至关重要。这些属性都与元素的尺寸和定位有关,尤其在处理滚动条和元素可视区域时...
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度 offsetHeight:获取对象相...
JavaScript中的offset、client和scroll属性是用于获取和操作HTML元素尺寸和位置的重要工具。下面是对这些属性的详细解释和应用场景: 1. **offset属性**: - `offsetWidth` 和 `offsetHeight`:这两个属性返回元素...
在Web开发中,对页面元素进行精确的定位是非常重要的,而JQuery作为一款优秀的JavaScript库,提供了强大的工具来帮助开发者轻松实现这一点。本文将深入探讨JQuery坐标定位的相关知识点,包括如何获取浏览器的各种...
offset系列主要用于获取元素相对于文档定位的位置信息,包括offsetLeft和offsetTop属性。这些属性通常用在需要获取元素具体位置的场景中,例如计算元素在页面上的绝对位置或用于弹框定位。 - element.offsetLeft:...
网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区域高: document.body.offsetHeight (包括边线...
值得一提的是,offset系列属性的offsetParent通常是指离当前元素最近的定位过的(position属性值不是static的)父级元素。而client系列属性和scroll系列属性则不依赖于父级元素,它们始终描述的是元素自身的信息。 ...
- **Offset Size**:包括了元素的宽度、高度以及边框(border),但不包括外边距(margin)。 - **Scroll Size**:表示元素(如页面)的实际宽度和高度,包括任何不可见的部分。 - **Screen Size**:屏幕的尺寸,可以是...
- `document.documentElement.clientWidth` 和 `document.documentElement.clientHeight` 可以分别获取HTML元素的clientWidth和clientHeight,这在处理全屏布局或页面整体尺寸时很有用。 理解并熟练运用这些属性...
- `scroll`系列:`scrollLeft`和`scrollTop`表示元素的水平和垂直滚动距离,`scrollWidth`和`scrollHeight`则表示内容的实际宽高。 BOM中的事件处理也非常重要,例如`click`事件用于响应点击,`focus`和`blur`处理...
1. **网页可见区域宽**:`document.body.clientWidth` 这个属性返回不包括滚动条的浏览器窗口宽度。 2. **网页可见区域高**:`document.body.clientHeight` 返回不包括滚动条的浏览器窗口高度。 3. **网页可见区域宽...
jQuery提供了一些内置方法来获取和设置元素的滚动位置,如`scrollTop()`和`scrollLeft()`。它们分别返回或设置元素的垂直和水平滚动位置: ```javascript var scrollTopValue = $("#scrollContainer").scrollTop(); ...
- `obj.scrollWidth`:返回元素的总宽度,包括超出视窗的部分。 - `obj.scrollHeight`:返回元素的总高度,包括超出视窗的部分。 - `obj.scrollLeft`:设置或获取位于元素左侧的滚动条位置。 - `obj.scrollTop`:...
- scrollLeft:隐藏在内容区域左侧的像素数,用于调整滚动位置。 - scrollTop:隐藏在内容区域上方的像素数,同样用于调整滚动位置。 四、组件设计思路 click-scroll组件的设计主要考虑以下几个方面: - 创建一...
在实际开发中,为了获取更为精确的位置信息,我们通常会使用offset系列属性。获取位置信息时,一个常用的函数getpos会计算一个元素相对于文档的顶部和左侧边界的偏移量。函数通过递归地累加offsetTop和offsetLeft的...