c# - 计算网站上HTML元素的面积?

标签 c# html css perl scrape

我想弄清楚是否可以计算 HTML element 的面积在网站上?以像素为单位,以百分比或其他形式表示。

我的第一个想法是假设元素的宽度和高度为 100%,然后尝试通过 HTML and CSS 之间的映射来检索大小。 .

因此,如果引用的 CSS 文件中有宽度/高度属性,我可能会说 body 元素被占 25% 面积的列覆盖(当然,一切都基于您的屏幕分辨率 - 我仍在尝试弄清楚如何以编程方式执行此操作)。

或者我是否应该渲染网站并根据当时最常见的屏幕分辨率的图像进行计算)。

还有其他可能的解决方案吗?

(目前我正在尝试在 Perl 中解决这个问题,但我想任何有用于此目的的库的语言都将不胜感激!)


编辑:我需要检索页面上每个元素的可视区域。 例如;如果 <body> 之上有元素元素,在视觉上覆盖它,我想从 <body> 中排除该区域之类的。用于查找页面上每个元素的可见区域的简单光线追踪。


编辑:假设我们排除了 JavaScript - 是否还有其他可能的方法?

最佳答案

就个人而言,我会使用 jQuery - 即使您不使用库,最好的选择也是 JavaScript 解决方案。

var $elt = $('#some-element-id'),
    height = $elt.height(),
    width = $elt.width(),
    area = height * width; // contains the area in px^2

http://api.jquery.com/heighthttp://api.jquery.com/width

关于c# - 计算网站上HTML元素的面积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4345830/

相关文章:

c# - 访客模式可以用回调函数代替吗?

c# - IdentityNotMappedException 异常

python - 查找包含给定单词的最多提及次数的 HTML 元素

javascript - 根据 map 的缩放级别和点击显示多边形图层

jquery - 防止在移动设备上缩放

javascript - 存储目标容器的 HTML 和 CSS

javascript - 为什么我的下拉菜单在 div 中不起作用?

c# - 只获取直接接口(interface)而不是全部?

c# - List.IndexOf() - 返回最后一次出现的索引而不是第一次出现的索引?

css - 从被 CORS 策略阻止的不同域获取 CSS : No 'Access-Control-Allow-Origin' header is present on the requested resource