获取

2012-06-27 39 views
0

我使用PHPQuery解析HTML文件的HTML标签的尺寸,我需要一个给定的标签的高度和宽度,在jQuery中有可能使用类似获取

height=$("div.content").height(); 
width=$("div.content").width(); 

但PHPQuery没有这样的作为高度(),宽度()函数的东西有没有什么办法来获得维度?

+0

这取决于CSS,图像和HTML框模型。这也取决于你渲染的区域的大小,它甚至可以取决于页面自己的Javascript代码。这是一个非常复杂的问题。 – SLaks

+3

PHPQuery不仅仅是一个CSS选择器DOM API吗?即在任何时候都与输出无关?我可以提醒你,PHP(甚至是PHPQuery)是* serverside *。 – PeeHaa

+0

如果你想在服务器端使用jQuery,你可以每次使用无头浏览器。 http://phantomjs.org/ – hakre

回答

1

PHPQuery只是让你以类似于jQuery的方式遍历文档。它实际上并不呈现文档,因此它不知道每个元素在浏览器呈现时的实际大小。

为了计算元素的宽度和高度,它需要解析样式表,应用所有这些规则,获取该元素(及其后代)使用的任何图像,并使用适当的字体呈现该元素(s) - 甚至可能还会呈现父元素。并且不能保证生成的维度将匹配某些特定的客户端配置,因为客户端环境可能导致元素以不同的大小呈现(DPI是最明显的示例,但即使浏览器窗口的大小也会影响任何给定元素的大小)。