私はおそらく同様の問題があったと思います。これが私が解決した方法です。 テーブル内にネストされたテーブルがあります。 ユーザーがボタンをクリックすると、Javascriptによって新しい表の行とセルが作成され、フォームのデータでセルが埋められました。セルにテキストをラップし、水平方向に展開しないようにするには、セル内に<div></div>
タグを使用する必要がありました。 新しい表の行が追加されたときに、「表」を垂直に展開しないようにするには、<td>
の下に<div></div>
というタグを配置する必要がありました。
私のjavascriptから作成されたHTMLはこのように見えます。
<table id="root">
<tr id="A">
<td id="1" style="width:200px">Content</td>
<td id="2" style="width:530px">
<div height="correct_height" overflowY="auto">
<table id="comments_table" style="width:510px table-layout:fixed">
<tr>
<td style="word-wrap:break-word">
<div style="width:480px;white-space:nowrap">Comments</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
.
.
.
</table>
最初の<td id="1">
は、最初に実行される関数によって作成されます。 2番目の<td id="2">
は、後で実行される関数によって作成され、<td id="1">
の高さを取得して、行の2番目のセルの高さがその行の1番目のセルの高さに依存するようにします。 幅は、垂直スクロールバーが表示されるように配置されます。
使用するパディングを引き算する必要があります。例えば、要素のうちの2つがstyle="padding:5px"
を有する場合、これは5topの5bottom×2要素を意味する。だから:
var correct_height = A.offsetHeight - 20;
私はちょっと混乱しています - あなたはVERTICALの成長について語りますが、 "width:100%;" –
何かの道?テーブルを縦に伸ばしたくない場合は、高さを設定してください:XXpx;それが拡大を止めるでしょう。また、あなたがソリューションを手に入れるのに役立つかもしれないCSSを投稿できるならば。 – Robert
テーブルが他のコンテンツに対してどのように展開されるのか分かりません。 – Mathletics