简体   繁体   English

如何在原生JavaScript中使用边距,填充,边框获取元素宽度/高度(无jQuery)

[英]How to get element width/height with margin, padding, border in Native JavaScript (no jQuery)

Looking for reliable method to calculate the element's width/height + margin - padding + border using native JS only and be xbrowser (IE8+) 寻找可靠的方法来计算元素的宽度/高度+边距 - 填充+边框仅使用原生JS并且是xbrowser(IE8 +)

TA TA

If you're only dealing with pixel values for the margin, padding and border properties, you can do the following: 如果您只处理边距,填充和边框属性的像素值,则可以执行以下操作:

// we're assuming a reference to your element in a variable called 'element'
var style = element.currentStyle || window.getComputedStyle(element),
    width = element.offsetWidth, // or use style.width
    margin = parseFloat(style.marginLeft) + parseFloat(style.marginRight),
    padding = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight),
    border = parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);

alert(width + margin - padding + border);

If you're dealing with other kinds of values (like ems, points or values like auto ), I would like to refer you to this answer . 如果你正在处理其他类型的值(如ems,点或像auto这样的值),我想请你参考这个答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM