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

私の理解では、文字列の長さを対応するの寸法に一致させようとしているということです。すでに示したように、これはフォントの種類とサイズを考慮した場合にのみ可能です。等幅フォントを使用すると仮定すると、$lengthに係数を掛ける必要があります。

等幅フォントを使用しない場合、本当に厄介な部分が始まります...

于 2013-01-01T17:57:01.627 に答える
0

displayまた、プロパティの値をinline-blockdivに設定すると、要素はブロック要素のように動作しますが、要素を含むことで幅が変化します display: inline-block

于 2013-01-01T18:03:00.043 に答える