使用原生 js 如何获取元素真实高度包括(margin)

使用原生 js 如何获取元素真实高度包括margin?

本人写了一个很愚蠢的方法只能分别获取 width、marginTop、paddingTop等, 这样获取效率太低,有没方法可以一次获取得到呢?
html:

<div class="container"> <p class="text">text</p>
</div>

css:

.text { margin: 5px 10px 15px 20px; padding: 25px 10px 5px 3px;
}

js:

var textNode = document.querySelector.text 方法1: // 只能分别获取 width、marginTop、paddingTop等, 这样获取效率太低,有没方法可以一次获取得到呢?
function getStyleobj,attr{ ifobj.currentStyle{ return obj.currentStyle[attr]; } else{ return document.defaultView.getComputedStyleobj,null[attr]; } } var width = getStyletextNode, width
var marginTop = getStyletextNode, marginTop ......

网页可见区域宽: document.documentElement.clientWidth;
网页可见区域高: document.documentElement.clientHeight; 网页正文全文宽: document.documentElement.scrollWidth;
网页正文全文高: document.documentElement.scrollHeight;
网页被卷去的高ff:document.body.scrollTop; 网页被卷去的高ie: document.documentElement.scrollTop; 网页被卷去的左:document.body.scrollLeft; 网页正文部分上:window.screenTop; 网页正文部分左:window.screenLeft; 某个元素的宽度:obj.offsetWidth;
某个元素的高度:obj.offsetHeight;
某个元素的上边界到body最顶部的距离:obj.offsetTop;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offsetLeft;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offsetTop(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offsetLeft(在元素的包含元素含滚动条的情况下)

返回 window.getComputedStyletextNode, null 就够了

引用一张图片,可能会对你有帮助

发表评论

电子邮件地址不会被公开。 必填项已用*标注