美文网首页
JS中的各种宽高

JS中的各种宽高

作者: JunhYan | 来源:发表于2021-01-07 10:46 被阅读0次

Dom对象的宽高

dom对象会涉及到宽高,和定位的问题,对于可以滚动的dom对象,还会涉及到隐藏的部分。

client

clientWidth和clientHeight是元素的可视部分宽度和高度,即padding+content,如果没有滚动条,即为元素设定的高度和宽度,如果出现滚动条,那么该属性就是其本来宽高减去滚动条的宽高。
clientTop和clientLeft是元素的外层boarder的上方和左侧的宽度。

offset

offsetWidth和offsetHeight是元素的border+padding+content,是元素的整体的宽高,即使存在滚动条也会将其计算在内。
offsetParent指的是当前元素的离自己最近的具有定位的父级元素,如果找不到定位元素那该元素就是body元素,offsetTop和offsetLeft是相对于offsetParent的上边距和左边距。

scroll

scrollHeight和scrollWidth是当元素内部的内容超出其宽度和高度的时候,元素内部内容的实际宽度和高度,是显示的高度/宽度和隐藏的高度/宽度的和,需要注意的是,当元素其中内容没有超过其高度或者宽度的时候,该属性是取不到的。
scrollTop和scrollLeft是隐藏部分的高度和宽度。另一种理解方式,是当前的scroll显示的部分距离scroll的dom的top/left的上边距/左边距。

event对象

在事件发生时,为事件的处理函数提供了event对象,该对象中包含了事件发生相关的位置信息。

client

cientX与clientY是事件发生的时相对于浏览器的左上角(0,0)的位置。

screen

screenX与screenY是事件发生时候相对于设备屏幕左上角(0,0)的位置。

offset

offsetX与offsetY是相对于当前元素的左上角的位置。该属性firefox不支持,类似的属性是 layerX和layerY。

page

pageX与pageY是相对于页面左上角的位置,当没有发生scroll的时候,这两个值与clientX与clientY的值相同,当发生了scroll,这两个值会包含隐藏部分的距离,所以会大于clientX与clientY。

总结

本文主要记录一些与位置有关的属性,方便之后再工作和学习中查阅,记录下来也加深记忆。

相关文章

  • JS中的各种宽高

    Dom对象的宽高 dom对象会涉及到宽高,和定位的问题,对于可以滚动的dom对象,还会涉及到隐藏的部分。 clie...

  • jQuery中宽、高、位置和滚动条总结

    js中各种宽高令人头疼,相反,jQuery中则精简了不少。 宽、高 jQuery中获取宽高,最经典的就是width...

  • jS中关于各种宽高

    offsetWidth;//元素的宽度(包括元素宽度、内边距和边框,不包括外边距)clientWidth;//元素...

  • js中的各种宽高理解

    在js之中有很多方法,属性是与宽高相关的,但是具体的区别又不太清楚。现就这些表示宽高的方法属性做一总结。假设我们有...

  • js/jq各种宽高

    (转)JS下各种宽高 转自https://segmentfault.com/a/1190000007681873 ...

  • JS 各种宽高的理解

    Window和document对象的区别 window对象window对象表示浏览器中打开的窗口window对象是...

  • JS & jQuery的各种宽高

    一、JS宽高计算 参考地址:http://caibaojian.com/js-name.html 名词解释scre...

  • 获取屏幕各种宽高的方法

    js 获取屏幕各种宽高的方法(浏览器兼容) 屏幕的有效宽高: window.screen.availHeightw...

  • 区分js中各种宽高及位置

    1. clientWidth、scrollWidth、offsetWidth 浏览器的视口(不包括工具栏和滚动条)...

  • js中的各种宽高以及位置总结

    前言 被原生js的各种宽高、位置搞到爆炸,所以做一个小小的总结!!! dom对象 只读属性 clientWidth...

网友评论

      本文标题:JS中的各种宽高

      本文链接:https://www.haomeiwen.com/subject/icxooktx.html