このサイトにある同様の質問 (セル内のテキストの量に関係なく、テーブルの列幅を一定に設定しますか?など) に対して既にいくつかの修正を試しましたが、役に立たなかったと言って、これを前置きする必要があります。
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\">  <b>$user1</b></font>  ";
$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 ライトのようなものなので、この方法は好きではありません。テーブルの問題が発生している理由について何か考えはありますか?