document相关的宽高

一、client该属性指的是元素的可视部分的宽度和高度,即padding+content

如果没有滚动条,即为元素设定的宽度和高度。如果出现滚动条,滚动条会遮盖元素的宽高,那么该属性就是其本来的宽高减去滚动条的宽高。

1.document.body.clientWidth/document.body.clientHeight

(1)假如没有padding,无滚动,则clientWidth = style.width

(2)假如有padding,无滚动,则cliengWidth = style.width + style.padding*2

(3)假如有padding,有滚动,则clientWidth = style.width + style.padding*2-滚动轴的宽度

2.document.body.clientLeft/document.body.clientTop

这两个返回的是元素周围边框的厚度,如果不指定一个边框挥着不定位该元素,则值为0,

用于读取border的宽度和高度

二、offset

1.document.body.offsetWidth/document.body.offsetHeight

该属性指的是元素的border+padding+content的宽度和高度

该属性和其内部的内容是否超出元素大小无关,只和本来设定的border,width,height有关。

offsetWidth = clientWidth + clientLeft*2

2.offsetParent

若当前元素的父级元素没有进行CSS定位(absolute或relative),offsetParent为body。

若父级元素有CSS定位,则offsetParent为最近的父级元素。

2.document.body.offsetLeft/document.body.offsetTop

在IE8以上的浏览器以及chrome中:offsetleft = offsetParent的(margin-left+border-left+padding-left)+当前元素的(margin-left)

在firefox中:offsetleft = offsetParent的(margin-left+padding-left)+当前元素的(margin-left)

三、scroll

1..document.body.scrollWidth/document.body.scrollHeight

document.body的scrollWidth和scrollHeight与div的scrollWidth/scrollHeight有区别

对于document.body的scrollWidth和scrollHeight

(1)给定的宽高小于浏览器的宽高,则scrollWidth/scrollHeight = 浏览器的宽高

(2)给定的宽高大于浏览器的窗口,且内容小于给定的宽高

document.body.scrollWidth = 给定的宽度+其所有的padding*2+margin*2+border*2

document.body.scrollHeight = 给定的高度+其所有的padding*2+margin*2+border*2

(3)给定的宽高大于浏览器的窗口,且内容大于给定的宽高

document.body.scrollWidth = 其内容的宽度+其所有的padding*2+margin*2+border*2

document.body.scrollHeight = 其内容的高度+其所有的padding*2+margin*2+border*2

对于div的scrollWidth/scrollHeight

(1)无滚动轴时:

div.scrollWidth = 给定的宽度 + padding*2

div.scrollscrollHeight = 给定的高度 + padding*2

(2)有滚动轴时

div.scrollWidth = 实际的宽度 + padding*2

div.scrollscrollHeight = 实际的高度 + padding*2

2.document.body.scrollLeft/document.body.scrollTop

该属性是可读写的,指的是当元素其中的内容吃哦出宽高的时候,元素被卷起的高度和宽度。

时间: 2024-08-26 08:23:25

document相关的宽高的相关文章

JS和jQuery宽高详解(上篇)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" } li.li1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" } span.s1 { } span.s2 { font: 12.0px Helvetica } ol.o

第76天:jQuery中的宽高

Window对象和document对象的区别 1.window对象表示浏览器中打开的窗口 2.window对象可以省略,比如alert()也可以写成window.alert() Document对象是window对象的一部分 浏览器的HTML文档成为dicument对象 Window.location和document.location Window对象的location属性饮用的是location对象,表示该窗口中当前显示文档的URL Document对象的location属性也是引用了loc

JS 各种宽高

1.window的各种宽高   outerWidth.innerWidth.outerHeight.innerHeight outerHeight 获取浏览器窗口外部的高度(单位:像素).表示整个浏览器窗口的高度,包括侧边栏(如果存在).窗口镶边(window chrome)和调整窗口大小的边框(window resizing borders/handles) innerHeight 浏览器视口的高度(单位:像素),如果存在水平滚动条则包括它 outerWidth 获取浏览器窗口外部的宽度(单位

js各种宽高意义总结

1.window的各种宽高   outerWidth.innerWidth.outerHeight.innerHeight outerHeight 获取浏览器窗口外部的高度(单位:像素).表示整个浏览器窗口的高度,包括侧边栏(如果存在).窗口镶边(window chrome)和调整窗口大小的边框(window resizing borders/handles) innerHeight 浏览器视口的高度(单位:像素),如果存在水平滚动条则包括它 outerWidth 获取浏览器窗口外部的宽度(单位

js/jQuery中的宽高

一.和window有关的宽高 window.innerWidth:浏览器窗口宽度 window.innerHeight:浏览器窗口高度(不包括导航,工具栏等的高度) window.outerWidth:浏览器窗口宽度(很多时候===window.innerWidth) window.outerHeight:浏览器窗口高度(包括导航,工具栏等的高度) window.screen.width:用户设备屏幕的宽度 window.screen.height:用户设备屏幕的高度 window.screen

js/jq宽高的理解与运用

document:1. 与client相关的宽高document.body.clientWidthdocument.body.clientHeightdocument.body.clientLeftdocument.body.clientTop 2. 与offset相关的宽高 3. 与scroll相关的宽高 网页滚动到顶部或底部: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=

JavaScript中的各种宽高属性

转自慕课网:http://www.imooc.com/article/14516 在js中,存在着N多的关于高度和宽度的属性,比如:clientHeight.offsetHeight.scrollHeight.availHeight.scrollLeft.scrollTop.style.height.innerHeight.outerHeight.scree.height等等......这么多,傻傻分不清也正常啊.本文的目标: 理清js及jquery的各种width和height 对width和

JS和jQuery宽高详解(下篇)

jQuery相关的宽高 和JS相比,jQuery就像亲妈一样,JS就是后妈,哈哈哈哈哈------总之,jQuery对很多有关兼容的问题进行封装,只有极少一部分属性需要考虑兼容,用起来非常滴方便-- 与jQuery相关的宽高: .width()与.height(): .innerWidth()与 .innerHeight(); .outerWidth() 与.outerHeight(); 上边3对是jQuery里宽高相关的属性:下边3对是与宽高相关的属性. .scrollTop() 与.scro

JS和jQuery宽高详解(中篇)

JS实例练习 首先了解一下document.documentElement与document.body之间的小区别,这两一个元素后者是前者的子集,也就是父子关系. 1)可视区域计算 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.5px "Trebuchet MS" } span.s1 { } 实现原理:div元素到窗口顶部的高度小于窗口的可视高度,则执行对div绑定的函数. 这里获取div元素