我想我大概也有類似的問題。這是我解決它的方式。 我在表格中嵌套表格。 用戶點擊了一個按鈕,Javascript創建了新的表格行和單元格,並使用表單中的數據填充了單元格。爲了強制單元格包裝文本而不是水平擴展,我必須在單元格內使用<div></div>
標籤。 爲了強制「表格」在添加新表格行時不垂直擴展,我必須將<div></div>
標籤放在<td>
下面包含。
所以,從我的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">
通過運行第一函數創建。 第二個<td id="2">
是由一個函數創建的,該函數在其之後運行,並抓取<td id="1">
的高度,以便該行中第二個單元格的高度取決於該行中第一個單元格的高度。 寬度的排列方式允許顯示垂直滾動條的空間。
你必須減去你使用的任何填充。例如,如果其中兩個元素有style="padding:5px"
那麼這意味着5top 5 x 2元素。所以:
var correct_height = A.offsetHeight - 20;
我有點困惑 - 你說VERTICAL增長,但「寬度:100%;」 – 2011-12-29 21:11:33
繞過什麼?你不想讓你的桌子垂直展開,請設置一個高度:XXpx;這將阻止它擴大。此外,如果你可以發佈可能有助於爲你提供解決方案的CSS。 – Robert 2011-12-29 21:12:38
我不明白表格應該如何相對於其他內容進行擴展。 – Mathletics 2011-12-29 21:13:26