您的位置:首页 > Web前端 > HTML

HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解(转载)

2011-08-18 20:22 645 查看
作者: 来源: http://bbs.chinaunix.net 核心提示:HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth 到底指的哪到哪的距离之完全详解 scrollHeight: 获取对象的滚动高度。 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端.....

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均无关)



Javascript:scrollWidth,clientWidth,offsetWidth的区别(转)

clientWidth

是对象可见的宽度,不包滚动条等边线,会随窗口的显示大小改变。

scrollWidth

是对象的实际内容的宽,不包边线宽度,会随对象中内容的多少改变(内容多了可能会改变对象的实际宽度)

offsetWidth

是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变。

------------------------------------------------

一个scrollWidth和clientWidth的例子:

<html>

<head>

<title>77.htm文件</title>

</head>

<body>

<textarea wrap="off" onfocus="alert('scrollWidth:'+this.scrollWidth+'\n clientWidth:'+this.clientWidth);"></textarea>

</body>

</html>

在文本框内输入内容,当横向滚动条没出来前scrollWidth和clientWidth的值是一样的。

当一行内容超出文本框的宽度,就有横向滚动条出来了,scrollWidth的值就变了。

scrollWidth是对象实际内容的宽度。

clientWidth是对象看到的宽度(不含边线),这个例子里不会改变。

-----------------------------------------------

一个clientWidth和offsetWidth的例子:

<html>

<head>

<title>77.htm文件</title>

</head>

<body>

<textarea wrap="off" onfocus="alert('offsetWidth:'+this.offsetWidth+'\n clientWidth:'+this.clientWidth);"></textarea>

</body>

</html>

offsetWidth的值总是比clientWidth的值打

clientWidth是对象看到的宽度(不含边线)

offsetWidth是对象看到的宽度(含边线,如滚动条的占用的宽)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐