每个HTML元素都有以下属性

offsetWidth:内容+内边距(padding)+边框+滚动条宽度,以css像素返回它的屏幕尺寸。

offsetHeight:(同上)

offsetLeft:如果offsetParent是null的时候是文档坐标,但对于已定位元素的后代元素和一些其他元素(如表格单元),这些属性返回的是相对于祖元素的而非文档。

offsetTop:(同上)

offsetParent:

 备注:如果对文档坐标和视口坐标不理解可以查看博文《文档坐标和视口坐标》

clientWidth:内容+内边距(padding)

clientHeight:(同上)

clientLeft:没什么用,返回元素的内边距的外边缘和他们的边框的外边缘之间的水平距离,通常这些值就等于左边的边框宽度。

clientTop:没什么用,返回元素的内边距的外边缘和他们的边框的外边缘之间的垂直距离,通常这些值就等于上边的边框宽度。

注意:对于类似<i>、<code>、<span>这些内联元素,clientWidth、clientHeight、clientLeft、clientTop总是返回0。

有一个特殊案例,在文档的根元素上查询这些属性时,他们返回值和窗口的innerWidth和innerHeight属性值相等。

scrollWidth:内容+内边距(padding)+任何溢出内容的尺寸,如果内容正好和内容区域匹配而没有溢出,这些属性与clientWidth和clientHeight相等。

scrollHeight:(同上)

scrollLeft:元素滚动条的位置,是可写属性,通过设置它们让元素中的内容滚动。

scrollTop:(同上)

注意:HTML元素并没有类似Window对象的scrollTo()方法。

window.scrollTo(x,y)

window.scroll(x,y)

window.scrollBy(x,y)   //不同于以上两个方法,它的参数相对的

setIntervar(function(){scrollBy(0,10)},200)  //每200毫秒向下滚动10像素。注意它无法关闭。

HTML元素的offsetWidht、clientWidth、scrollWidth属性区别的更多相关文章

  1. offsetWidth clientWidth scrollWidth 的区别

    了解 offsetWidth clientWidth scrollWidth 的区别 最近需要清除区分开元素的width,height及相应的坐标等,当前这篇用来区分offsetWidth clien ...

  2. html中元素的id和name的区别(2016-1-22)

    HTML中元素的Id和Name属性区别 一直以来一直以为在html中,name和id没什么区别,今天遇到一个坑才发现(PHP获取不到表单数据,原因:元素没有name,只定义了id),这两者差别还是很大 ...

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

    网页可见区域宽:document.body.clientWidth; 网页可见区域高:document.body.clientHeight; 网页可见区域高:document.body.offsetW ...

  4. 转:scrollWidth,clientWidth,offsetWidth的区别

    scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大. clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变. off ...

  5. HTML元素的ID和Name属性的区别

    HTML元素的ID和Name属性的区别今天突然兴致来了,想深究下这两属性的具体区别最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以 ...

  6. js中clientWidth, scrollWidth, innerWidth, outerWidth,offsetWidth的区别

    js中clientWidth, scrollWidth, innerWidth, outerWidth,offsetWidth的属性汇总,测试浏览器:ie7~ie11.chrome 和 firefox ...

  7. html元素中id和name的区别

    可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Nam ...

  8. jQuery获得元素位置offset()和position()的区别

    jQuery获得元素位置offset()和position()的区别 jQuery 中有两个获取元素位置的方法offset()和position(),这两个方法之间有什么异同 offset(): 获取 ...

  9. apple-touch-icon-precomposed 和 apple-touch-icon属性区别

    苹果safari浏览器当中apple-touch-icon-precomposed 和 apple-touch-icon属性是有区别的,之前在网上查了下相关的资料和苹果的开发文档手册,对这两中属性区别 ...

随机推荐

  1. 解决java.lang.NoClassDefFoundError: org/apache/log4j/Level

    现象: java.lang.NoClassDefFoundError: org/apache/log4j/Level at org.slf4j.LoggerFactory.getSingleton(L ...

  2. 浅析 - 提高xib(Interface Builder)高效工作的几个小技巧

    本文译自:8 Tips for working effectively with Interface Builder(需FQ)先来看看目录:介绍使view的Size与view中的Content相适应按 ...

  3. NYOJ题目64鸡兔同笼

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsAAAAIZCAIAAAAnfB5fAAAgAElEQVR4nO3dO1LjygIG4LsJchZC7I ...

  4. 20145206邹京儒《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145206<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验内容及步骤 1.使用JDK编译.运行简单的Java程序: 建立实验目录: 在IDEA ...

  5. hdu 1005

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005 思路:找规律题 #include<stdio.h> main() { ]; int ...

  6. yum install 安装 下载好的rpm包 会并依赖包一起安装 zoom电话会议的安装

    [root@ok-T Downloads]# rpm -ivh zoom_x86_64.rpm error: Failed dependencies: libxcb-image.so.()(64bit ...

  7. ManageEngine Glossary

    https://www.manageengine.com/products/applications_manager/help/glossary-applications-manager.html#s ...

  8. 与你相遇好幸运,Sail.js定义其他主键

    uuid : { type: 'string', unique: true, required: true, primaryKey: true },

  9. CentOS版本选择说明

    官方下载站http://www.centos.org/download/ 所有版本下载地址http://vault.centos.org/ 首先对一些镜像文件做个简单的介绍: LiveCD一般用来修复 ...

  10. Install Docker on Mac OS X(转)

    Install Docker on Mac OS X You can install Docker using Boot2Docker to run docker commands at your c ...