【问题标题】:PHP Determining Font Size based off of widthPHP根据宽度确定字体大小
【发布时间】:2011-07-23 22:36:36
【问题描述】:

我有一个元素的静态宽度,以及一个由用户插入的未知字符串长度。我正在尝试将 javascript 排除在外,否则这个问题将通过使用其他帖子中描述的 jQuery 方法来解决。

我正在使用不会改变的 php 生成一个静态页面,并且我正在尝试计算文本的大小以适应 div。

这是否可能只具有以下内容: - 字符串长度 - 容器宽度 - 使用 PHP 的服务器端

如果可以,请帮助我找到正确的解决方案?

干杯

【问题讨论】:

    标签: php fonts


    【解决方案1】:

    如果这是关于 HTML 元素,您将无法在 PHP 中以 100% 的可靠性确定宽度。您必须在客户端浏览器中实际呈现元素才能找到它,而这只能使用 JavaScript。

    此外,客户端还有很多因素会影响结果:

    • 操作系统的文本大小级别
    • 浏览器的缩放级别
    • 客户端计算机上使用的字体的可用性

    您可能最好手动确定元素的宽度在普通网络浏览器中正常缩放(或者如果它是动态文本,也许使用@Jared 建议的内容)

    【讨论】:

    • 感谢 Pekka 的概述。操作系统+浏览器缩放级别的好点(假设总是最糟糕的......)
    【解决方案2】:

    这个答案(由 Pekka 提供,也请参阅他的回复):

    PHP Accurate Font Width

    建议 imagettfbbox,如果您使用的是 truetype 字体。

    【讨论】:

    • 是的,但这只有在您还使用 PHP 的 GD 来实际呈现内容时才可靠。 OP 的问题看起来像是在尝试确定在客户端中呈现的 HTML 元素的宽度。也就是说,如果不需要 100% 的可靠性,这可能是一个令人满意的解决方案。
    • 如果它是关于实际 HTML 元素的,我没有看到在 PHP 中执行 OP 想要的令人满意的方法,但这看起来可能是一个不错的选择。
    猜你喜欢
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2017-10-08
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多