js中的各种宽高理解

作者: tiancai啊呆 | 来源:发表于2017-11-19 16:25 被阅读27次

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

//html部分
<div id="test">
    <div style="height: 200px;"></div>
</div>
//css部分
#test {
    width: 100px;
    height: 100px;
    padding: 10px;
    margin: 10px;
    border: 1px solid blue;
    overflow: auto;
}

下面就是一些获取宽高的方法与属性

var test = document.getElementById("test");
console.log(test.clientHeight + '-' + test.clientWidth);     //120---103
console.log(test.clientLeft + '-' + test.clientTop);         //1---1
//clientHeight,clientWidth指的是元素可视部分的宽高,即等于padding+content;
//如果有滚条,需要减去滚动条的宽高。
//clientLeft,clientTop返回的是元素周围边框的厚度。

console.log(test.offsetHeight + '-' + test.offsetWidth); //122---122
console.log(test.offsetLeft + '-' + test.offsetTop);      //10---10
//offsetHeight,offsetWidth. 等于padding+content+border;
//offsetLeft,offsetTop为相对于offsetParent的偏移量
//他们与是否有滚动条无关

console.log(test.scrollHeight + '-' + test.scrollWidth); //220---103
console.log(test.scrollLeft + '-' + test.scrollTop); //0---0
//scrollHeight,scrollWidth指的是元素实际的宽高,即等于padding+content;
//如果有滚条,需要减去滚动条的宽高。
//scrollLeft,scrollTop指的是元素被卷起的宽高,可读可写

除此之外事件对象event还有一些属性用以获取坐标
event.clientX,event.clientY---相对于浏览器可视区左上角的坐标
event.offsetX,event.offsetY---相对于事件源左上角的坐标
event.pageX,event.pageY---相对于整个网页左上角的坐标
event.screenX,event.screenY---相对于设备屏幕左上角的坐标

相关文章

  • js中的各种宽高理解

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

  • JS 各种宽高的理解

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

  • JS中的各种宽高

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

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

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

  • jS中关于各种宽高

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

  • js/jq各种宽高

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

  • 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/wlokextx.html