javascript - 如何获取渲染的 HTML 页面的大小而不是其客户端大小?

标签 javascript html dom

我需要获取 HTML 页面上元素占用的大小。
不是浏览器的客户端宽度。
由于我无法强制 html 将所有内容都包含在 div 中,因为它是用户提供的,所以我需要知道该大小。
我试图获取主体元素的大小,但无法获取。 (尝试了 .width 和 style.width 但都不起作用)

最佳答案

除非您明确知道要测量哪些内容元素,并且您知道它们不是像 div 那样的弹性内容元素,无论实际内容如何,​​都可以全宽,否则您无法执行此操作。

如果您确实知道要测量哪些元素,则可以迭代所有元素以获得它们的大小和位置,并累积一个边界矩形,该矩形是所有有趣元素的并集。但是,如果这是您不知道的任意 HTML(如您所描述的),您就无法知道您关心的内容与只是全宽的任意容器之间的区别,因为它自然会这样做。

例如,查看包含 div 中的自动换行文本。包含的 div 为全宽,因此它始终为全宽。包含 div 的高度可以测量,但宽度始终为全宽,并且高度仅适合该特定宽度。改变宽度,高度就会不同。

关于javascript - 如何获取渲染的 HTML 页面的大小而不是其客户端大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7135867/

相关文章:

javascript - 国际化普通 Express.js

css - 如何让包装器 <div> 填充 100% 的浏览器高度,而不管所包含内容的高度如何?

Jquery自定义警报框

javascript - 如何使用 JQuery 选择容器元素内的第一个 div 元素?

dom - 选择文本,然后使用 jQuery for AJAX 将其分成三部分

javascript - 如何在javascript中获取输入并调用函数

javascript - <a> 元素中的 ngclick 优先于 nghref

javascript - FullCalendar - 显示当前和 future 4 周的自定义 View

html - 两个之间的一个 div,两边的两个都需要碰到浏览器的边缘

jquery - 鼠标事件未在 <div> 内的 <object> 中注册