0

このサイトにある同様の質問 (セル内のテキストの量に関係なく、テーブルの列幅を一定に設定しますか?など) に対して既にいくつかの修正を試しましたが、役に立たなかったと言って、これを前置きする必要があります。

AJAX を介してユーザー コメントのテーブル (テーブルごとに 1 つのコメント) を生成しています。簡単に言うと、テキストを入力してボタンをクリックすると、php ファイルにアクセスする AJAX 関数が呼び出されます。php ファイルは、私が開発したアルゴリズムに基づいてユーザー コメントを時系列で表示します。正常に動作します...(最新の関連コードが続きます)

$current.="<table border=\"1\" width=\"550px\" table-layout=\"fixed\">";
$current.="<tr width=\"550px\">";
$current.="<td width=\"60px\"><img src=\"" . $Picture1 . "\" style=\"float:left\"    
width=\"50px\" style=\"border: 0\" height=\"55px\"></td>";
$current.="<td width=\"485px\">";
$current.="<div style=\"width:485px\"><font size = \"2\" style=\"font-   
family:arial\">&nbsp;&nbsp;&nbsp<b>$user1</b></font>&nbsp;&nbsp;&nbsp";
$current.="<font size = \"2\" style=\"font-family:arial\">$usercomment1</font>";
$current.="</div></td>";
$current.="</tr>";
$current.="</table>";

ユーザー コメントがテーブルの水平方向の境界 (幅) (約 60 文字) を超える場合を除きます。上記のようにテーブル セルに div がない場合 (およびすべての td、tr、およびテーブル要素を固定幅に設定)、コメントはテーブルの境界を右に拡張することに注意してください (境界線を表示することで明らかになります) 。驚くべきことに、上記のコード (つまり、div が含まれている) を使用すると、ユーザー コメントのテキストが実際にはテーブルの外に出ます (実際には、テキストはテーブルの右側の境界線が存在しないかのように上書きされ、右に移動し続けます。あたかも div/text がより高い z-index を持っているかのように)。

現時点では、ユーザー コメントを生成するフォームの入力テキスト フィールドに maxlength='60' を設定するのが手っ取り早い修正方法ですが、文字数を 60 に制限するのは Twitter ライトのようなものなので、この方法は好きではありません。テーブルの問題が発生している理由について何か考えはありますか?

4

2 に答える 2

0

さらにテストを重ねた結果、wordwrap() 関数を使用して、必要な方法で改行を自動挿入することができました。

http://www.php.net/manual/en/function.wordwrap.php

魔法のように働いた

于 2013-09-25T17:31:47.227 に答える