2011-12-29 43 views
0

我目前有垂直增長:有一個表的擴張DIV

<div class="generic-block-70"> 
    <div class="generic-content-70"> 
     <table id="voteBlock"> 
      // stuff 
    </table> 
    </div> 
</div> 

但是,看到的generic-block-70generic-content-70沒有設定高度和他們垂直擴展的文本添加,我不能簡單地將我的桌子的樣式設置爲height: 100%;

有沒有辦法解決這個問題?

的jsfiddle:http://jsfiddle.net/2vLEL/

+0

我有點困惑 - 你說VERTICAL增長,但「寬度:100%;」 – 2011-12-29 21:11:33

+0

繞過什麼?你不想讓你的桌子垂直展開,請設置一個高度:XXpx;這將阻止它擴大。此外,如果你可以發佈可能有助於爲你提供解決方案的CSS。 – Robert 2011-12-29 21:12:38

+0

我不明白表格應該如何相對於其他內容進行擴展。 – Mathletics 2011-12-29 21:13:26

回答

0

的代碼依賴於意向:

  • 如果你想表鎖定到一個高度,給它一個高度:NNpx;
  • 如果你想鎖定div到一個高度,給它一個高度:NNpx;和溢出:MM;取決於您的需求
2

我想我大概也有類似的問題。這是我解決它的方式。 我在表格中嵌套表格。 用戶點擊了一個按鈕,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;