获取实际宽度而不是自动使用PHP

时间:2011-07-15 11:20:15

标签: php html css

如何使用PHP确定宽度为auto的HTML元素的显式宽度?

如果使用width:auto;,JQuery可以执行此操作,它可以计算实际的width

  

获取集合中第一个元素的当前计算宽度   匹配的元素。

JQuery可能在浏览器的帮助下完成此操作,因为它是客户端。

如何使用PHP实现这一目标?我把HTML作为字符串。

更新

所有CSS都是内联的,如果宽度为auto,则唯一要确定元素宽度的是它的直接父级和/或其内容。

2 个答案:

答案 0 :(得分:3)

这是不可能的。 PHP不知道如何呈现HTML / CSS(如果完全呈现)。

答案 1 :(得分:2)

在PHP中唯一可行的方法是,如果你有两者 HTML和完整的CSS作为字符串 AND ,元素的宽度以绝对像素定义或其容器(或父容器等)的宽度以绝对像素定义。如果所有这些条件都成立,那么要弄清楚仍然非常困难。基本上你必须用PHP编写渲染引擎。

如果您真的很幸运,您需要的元素将具有内联style="width:px",您可以解析该属性。

这在Javascript中是可行的,因为浏览器知道它自己的大小。在大多数情况下,字符串中的HTML在浏览器中呈现之前不会有大小。