2

ボックスに収まる必要があり、最大 3 行の長さでなければならない文字列があります。短くするために、切り捨てて「...」で終わる予定です。特定の文字数に短縮できますが、「wwwwwwwww [...] wwww」で見栄えを良くすると、「iiiiiiiiiiii [...] iiii」では正しく表示されません。

固定幅フォントを使用せずに文字列に含まれる文字数とは対照的に、文字列が占めるスペースの量だけ短くする方法はありますか? 理想的には、これをサーバー側 (php) で実行したいのですが、実際の文字幅はクライアント側 (JS / jQuery) で実行できる可能性がはるかに高いことを認識しています。

マラ

ps。「単に「...」の画像を作成して行末に重ねる」ハックなどはやめてください - 実際には文字列を適切な長さに短くしたい

4

5 に答える 5

2

そのためのimageftbboximagettfbboxがあります。

于 2010-05-17T23:53:49.003 に答える
2

これを見てください:http://www.switchonthecode.com/tutorials/javascript-tutorial-how-to-auto-ellipse-text

于 2010-05-17T23:55:16.787 に答える
1

このサイトは、どのサイトよりも優れた方法を提供し、クロスブラウザーです。私はシンプルさが好きです:

于 2010-05-17T23:56:25.100 に答える
0

このためのjQueryプラグインは多数あります:http://plugins.jquery.com/taxonomy/term/2229

于 2010-08-13T16:54:47.867 に答える
0

あなたが話している程度のフォントサイズを簡単に取得する方法は考えられませんが、あなたが望むように「表示」されるハックがあるかもしれません. あなたが3行に言及したので、私たちは<textarea>要素について話していると思います:

<textarea rows="3" cols="50" style="overflow:hidden;"></textarea>

テキストは表示されますが、表示されず、スクロール バーも表示されません。

于 2010-05-17T23:54:43.013 に答える