2

例如:

<?php
$string = 'Foo bar';

$length = strlen($string);

echo '<div style="width: '.$length.'px;">'.$string.'</div>';

以上显然不起作用,因为 $length 是 7 并且 7px 小于输出文本的大小。

我也明白字体大小和其他因素也会发挥作用。

我正在寻找的是这样的:

<div style="width:xxx; float:left;">Label 1</div><input type="checkbox"/><br/>
<div style="width:xxx; float:left; clear:left;">Longer Label 2</div> <input type="checkbox"/><br/>
<div style="width:xxx; float:left; clear:left;">Even Longer Label 3</div> <input type="checkbox"/><br/>
4

3 回答 3

1

如果您知道您将使用的字体,那么您想了解imagettfbbox().

但是,是的,只是不要给出宽度并右对齐文本,或者使用像 Bootstrap 或 960.gs 这样的网格系统布局。

于 2013-01-01T17:54:49.403 回答
0

此外,如果您将display属性值设置为inline-blockdiv 元素的行为就像一个块元素,但它的宽度会随着它包含的元素而变化 display: inline-block

于 2013-01-01T18:03:00.043 回答
0

我的理解是,您正在尝试将字符串的长度与相应的 . 正如您已经指出的那样,这只有在您考虑字体类型和大小时才有可能。假设你有一个等距字体,你必须将 $length 乘以一个因子。

如果你不使用等距字体,真正混乱的部分就开始了……

于 2013-01-01T17:57:01.627 回答