(跟随这个问题:html columns whose width automatically changes according to their content)
我从 PHP 脚本打印了一些 HTML 代码,我想知道结果的高度是多少(用于分页计算)。假设我有以下输入:
- 我要打印的$html代码(字符串);
- $css 代码,包含出现在 HTML 中的所有元素的字体和大小的完整详细信息(字符串);
- 所有相关的浏览器设置(字体、大小等);
- 页面 $width,以像素为单位 (int)。
我创建了一个如下所示的页面:
<html>
<head>
<style>$css</style>
</head>
<body style='width:$width'>
$html
</body>
</html>
我想从 PHP 脚本中知道从页面顶部到文本底部的像素数。
编辑:我需要在服务器端执行此操作,在显示内容之前,因为我使用它来计算要放置的内容。例如,如果内容太高,我可能会决定只放前半部分等。
另一种可能的用途是计算达到特定高度所需的宽度。例如,我可能会尝试将它放在宽度为 200px 的 div 中,但结果可能会太高;然后我尝试宽度 400px 等,直到我找到给出我想要的高度的宽度。
最佳答案
如果你想创建自己的服务器端浏览器,你会遇到加载时间的问题。如果这不是一个大问题,您可以解析 css(类似这样:link)以找出您的 $html
中使用了哪些填充、边距、字体、行高等变量,那么,如果你知道字体细节,你可以尝试计算内容高度(自然而然地,用户从什么浏览器输入)。
关于php - 计算html+css显示高度的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662574/