例如:
<?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/>
答案 0 :(得分:1)
如果您知道要使用的字体,则需要了解imagettfbbox()
。
但是,是的,不要给宽度和右对齐文本,或使用像Bootstrap或960.gs这样的网格系统布局。
答案 1 :(得分:0)
我的理解是你试图将字符串的长度与相应的尺寸相匹配。正如您已经指出的那样,只有考虑字体类型和大小才能实现。假设你有一个单行间距字体,你必须将$ length乘以一个因子。
如果您使用的不是单行间距字体,那么真正凌乱的部分会开始......
答案 2 :(得分:0)
此外,如果您将display
属性的值设置为inline-block
div元素的行为类似于块元素,但它的宽度会随着元素的变化而变化
display: inline-block