寻找可靠的方法来计算元素的宽度/高度+边距 - 仅使用原生JS填充+边框并且是xbrowser(IE8 +)
TA
答案 0 :(得分:26)
如果您只处理边距,填充和边框属性的像素值,则可以执行以下操作:
// 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);
如果您正在处理其他类型的值(例如ems,点或值auto
),我想推荐您this answer。