javascript - 如何获取 DOM 元素的尺寸,减去边框和填充?

标签 javascript css

如何获取 <div> 的内容框大小(或任何其他元素)使用纯 JavaScript?我所说的内容框不是指 div 内文本的大小,而是指元素的屏幕大小减去边框和填充。

An element's bounding boxes

这是我在 Chrome 开发者工具中看到的。我只想要 JavaScript 中的蓝色部分 (720 x 540)。我的问题 offsetHeight公司是他们返回图形中黑色实心矩形的尺寸(很难看到 - 在边距和边框之间)。

请注意 widthheight CSS 属性可以设置也可以不设置;无论如何我都想要尺寸。进一步注意,填充和边框可能一致也可能不一致(例如,它可能只有一个边框)。

最佳答案

element.clientWidth 将为您提供包含填充(但无边框)的宽度。

然后,您可以parseFloat paddingLeftpaddingRight 的值。这是一个例子:

 function getElementContentWidth(element) {
  var styles = window.getComputedStyle(element);
  var padding = parseFloat(styles.paddingLeft) +
                parseFloat(styles.paddingRight);

  return element.clientWidth - padding;
}

关于javascript - 如何获取 DOM 元素的尺寸,减去边框和填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354095/

相关文章:

html - Bootstrap Mobile Nav 仅在一页中不起作用

css - 如何在 TinyMCE 编辑器中添加 Css 类 通过编码样式下拉

css - float : center doesn't work?

javascript - 将带有类 ID 和图像的 div 添加到容器

javascript - 如何使用 Javascript 将地理位置坐标存储到数组中?

javascript - 为什么有必要在 angularjs 中创建一个函数来返回相加数字的总和?

javascript - 使用 Django 打开社交登录的新窗口,然后关闭并返回父窗口

javascript - getElementById 不适用于 pageslide.js

javascript - Ajax 多次发送请求

javascript - 不在 Android 网页上滚动时,CSS 自动隐藏滚动条