0

これは私の状況です:

  • 私は現在、かなり...巨大なWebアプリケーション(CodeIgniter、MySQL、Javascript + Ajax + Jqueryを使用したPHP、およびさまざまなJavascriptライブラリを使用 - dataTablesなど)を完成させる過程にあります。

問題 :

  • テーブルが固定幅であるとしましょう。
  • 最初の固定幅です。(で言いましょう200px)
  • テーブルにデータが入力されると、次のようになります。
    • 最初の列のコンテンツが占めるスペースが 200px 未満であれば問題ありません。
    • コンテンツがこれらの 200px を超えると、コンテンツがラップされるため、「二重線」効果と、希望よりも高い行が作成されます。

ヒント:

  • very very very long lineのようなものに「縮小」することvery very very ...は、私が考えていることです。そのようなことさえ可能ですか?サーバ側?

どのようにアプローチしますか?(できればエレガントな方法で-「ええ、私はいくつかの解決策を念頭に置いていることを認めますが、どれも...ユーザーフレンドリーではないようです...笑)

4

1 に答える 1

1

モノスペースフォントを使用していない場合、同じ数の文字が常に同じ幅になるように、サーバーサイドで文字列の切り捨てを行うことは不可能だと思います。あなたができることは、クライアント側の文字列の切り捨てです。

( JavaScriptでテキスト幅を計算するのに良いコード):

CSS:

#testing-div
{
    position: absolute;
    visibility: hidden;
    height: auto;
    width: auto;
}

JS:

var test = document.getElementById("testing-div");
test.style.fontSize = fontSize;
var height = (test.clientHeight + 1) + "px";
var width = (test.clientWidth + 1) + "px";

文字列の全長をループして、の本文に文字を追加し#testing-div、幅を計算して、それが収まるかどうかを確認し続けることができます。...文字列が長すぎる場合は、必ず追加してください。

于 2012-08-16T13:18:05.860 に答える