HTML元素的offsetWidht、clientWidth、scrollWidth属性区别
每个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属性区别的更多相关文章
- offsetWidth clientWidth scrollWidth 的区别
了解 offsetWidth clientWidth scrollWidth 的区别 最近需要清除区分开元素的width,height及相应的坐标等,当前这篇用来区分offsetWidth clien ...
- html中元素的id和name的区别(2016-1-22)
HTML中元素的Id和Name属性区别 一直以来一直以为在html中,name和id没什么区别,今天遇到一个坑才发现(PHP获取不到表单数据,原因:元素没有name,只定义了id),这两者差别还是很大 ...
- Javascript:scrollWidth,clientWidth,offsetWidth的区别(转)
网页可见区域宽:document.body.clientWidth; 网页可见区域高:document.body.clientHeight; 网页可见区域高:document.body.offsetW ...
- 转:scrollWidth,clientWidth,offsetWidth的区别
scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大. clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变. off ...
- HTML元素的ID和Name属性的区别
HTML元素的ID和Name属性的区别今天突然兴致来了,想深究下这两属性的具体区别最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以 ...
- js中clientWidth, scrollWidth, innerWidth, outerWidth,offsetWidth的区别
js中clientWidth, scrollWidth, innerWidth, outerWidth,offsetWidth的属性汇总,测试浏览器:ie7~ie11.chrome 和 firefox ...
- html元素中id和name的区别
可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Nam ...
- jQuery获得元素位置offset()和position()的区别
jQuery获得元素位置offset()和position()的区别 jQuery 中有两个获取元素位置的方法offset()和position(),这两个方法之间有什么异同 offset(): 获取 ...
- apple-touch-icon-precomposed 和 apple-touch-icon属性区别
苹果safari浏览器当中apple-touch-icon-precomposed 和 apple-touch-icon属性是有区别的,之前在网上查了下相关的资料和苹果的开发文档手册,对这两中属性区别 ...
随机推荐
- 使用cocoapods导入第三方类库后 头文件没有代码提示?
选择Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项 新增一个值"${SRCROOT}",并且选择\ ...
- October 9th 2016 Week 41st Sunday
No matter how resourceful you are, you can't fight fate. 人纵有万般能耐,终也敌不过天命. I find that I gradually be ...
- iOS 控制屏幕旋转
在你想支持横竖屏的viewController里面重写两个方法: 1 2 3 4 5 6 7 8 9 10 11 // 支持设备自动旋转 - (BOOL)shouldAutorotate { ...
- IIS6与IIS7中如何设置文件过期
在IIS6中:一. 打开IIS管理器 二. 选中要设置的网站单击属性,打开站点属性菜单 三. 单击HTTP头选项卡 四. 单击 启用内容过期 如:设置30分钟后过期,此时间段后过期项中填30,单位选择 ...
- debug与release
因为在Debug中有ASSERT断言保护,所以要崩溃,而在Release优化中就会删掉ASSERT,所以会出现正常运行. void func() { char b[2]={0}; strc ...
- 二、JavaScript语言--JS实践--信息滚动效果制作
运用JavaScript技术,掌握无缝滚动和歇间性滚动的制作方法. 一.marquee标签实现信息滚动 1 behavior滚动的方式 alternate:表示在两端之间来回滚动 scroll:表示由 ...
- Java -- File
@.getPath().getAbsolutePath().getCanonicalPath()区别 原文:http://blog.csdn.net/wh_19910525/article/detai ...
- MVC学习笔记---ModelBinder
http://www.cnblogs.com/terrysun/archive/2010/04/05/1704666.html http://www.cnblogs.com/aehyok/archiv ...
- 攻城狮在路上(叁)Linux(十一)--- 用户与用户组、文件权限、目录配置
一.用户与用户组: 3个概念:文件所有者(user).用户组(group).其他人(others). /etc/passwd <==存放所有的用户名 /etc/shadow <==存放 ...
- maven File encoding has not been set
原pom.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...