JavaScript 获取内容框的大小

标签 javascript dom

我使用填充来限制内容框的大小。我需要一种方法来获取内容框宽度和高度的大小(以像素为单位)。

我愿意尝试解决诸如嵌套元素、伪元素之类的问题,尝试诸如弹性框设置之类的东西。

但是,问题的主题是获取这些值的普通 JavaScript 方法。

示例:http://codepen.io/anon/pen/lbzJi

最佳答案

取自对 similar question 的回答;您可以使用 window.getCompulatedStyle(element, null).getPropertyValue('css-property'); 来获取计算的 CSS 属性的值。在您的情况下,您可以将其用于属性 padding-leftpadding-rightpadding-toppadding-bottom

例如,要计算“box”div 的内容框的高度,您可以执行类似于以下内容的操作,其中我假设填充被指定为整数(因此是 parseInt) ;

function property(e, p) { 
    return parseInt(window.getComputedStyle(e, null).getPropertyValue(p)); 
}

var box = document.getElementById('box');
var paddingTop = property(box, 'padding-top');
var paddingBottom = property(box, 'padding-bottom');    
var contentHeight = box.clientHeight - paddingTop - paddingBottom;

关于JavaScript 获取内容框的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23334809/

相关文章:

javascript - 整个文档克隆在 JavaScript 中不起作用

javascript - node.removeChild(node.firstChild) 是否会造成内存泄漏?

javascript - jQuery - 检查元素是否具有数组中的类?

javascript - 如何使用 Ext JS 格式化方法在单元测试期间格式化日期?

html - 你能帮我在搜索栏中使用 "icon font"仅使用 CSS 来打开搜索栏吗?

javascript - d3 根据高度更改条形图颜色

javascript - jQuery 做 Action 如果大于但只做一次

html - 将两个 div 对齐在一行中,但它们不在同一元素中?

javascript - 使用 jquery 解析 JSON 以获得一些值

javascript - 如何仅在 Angular 中使用 ng-options 来转换值