2014-10-09 68 views
0

我想創建一個表,水平填充屏幕,但不會擴大比它。在一個表格單元格中,我需要放置任意大小的內容,如果大小過大,應使用水平滾動條顯示。表沒有重疊,但滾動條的太大的單元格內容

我嘗試這樣做:

<table style="table-layout:fixed; width:100%;"> 
    <tr><td>DONT OVERLAP ME</td><td width=100%>some other content</td></tr> 
    <tr><td colspan=2> 
     <div style="width:100%; overflow-x:auto;"> 
CONTENT_WITH_ARBITRARY_WIDTH_AND_HEIGHT_THE_TABLE_CELL_SHOULD_DISPLAY_HORIZONTAL_SCROLLBARS_BUT_SHOULD_GROW_VERTICALLY_NORMALLY 
     </div> 
    </td></tr> 
    <tr><td>DONT OVERLAP ME</td><td width=100%>some other content</td></tr> 
    </table> 

這適用於滾動條,但由於「表格佈局:固定的」表丟失根據可用空間和顯示內容來調整表中的所有能力。我需要這樣做,因爲內容是完全動態的,我無法知道列需要多少空間,但是我知道哪些列應該用可用空間(因此100%寬的列)貪婪。

換句話說,它與上例中的「不重疊重疊」部分重疊。

所以我試試這個:

<table style="table-layout:fixed; width:100%;"> 
    <tr><td> 
    <table style="width:100%;"> 
    <tr><td>DONT OVERLAP ME</td><td width=100%>some other content</td></tr> 
    <tr><td colspan=2> 
     <div style="width:100%; overflow-x:auto;"> 
CONTENT_WITH_ARBITRARY_WIDTH_AND_HEIGHT_THE_TABLE_CELL_SHOULD_DISPLAY_HORIZONTAL_SCROLLBARS_BUT_SHOULD_GROW_VERTICALLY_NORMALLY 
     </div> 
    </td></tr> 
    <tr><td>DONT OVERLAP ME</td><td width=100%>some other content</td></tr> 
    </table> 
    </td></tr> 
    </table> 

這裏重疊是固定的,但由於某些原因,內部表會忽略,這是其他的表內和增長超出屏幕邊緣,從不顯示滾動條。 (我懷疑這又是「表格佈局:固定」的症狀)

有沒有辦法避免重疊,並仍然有一個水平滾動條的表格單元格?

回答

0
<div style="max-width:100%; overflow-x:scroll;"> 

CONTENT_WITH_ARBITRARY_WIDTH_AND_HEIGHT_THE_TABLE_CELL_SHOULD_DISPLAY_HORIZONTAL_SCROLLBARS_BUT_SHOULD_GROW_VERTICALLY_NORMALLY

請注意,您在您的代碼具有寬度= 100%,使其最大寬度則一個冒號,然後100%

+0

謝謝,我已經在這個問題糾正錯誤,但它對問題沒有任何影響。另外「最大寬度」不解決它。 – 2014-10-09 14:43:03

+0

我仍然在嘗試,嘗試過彈性框,邊界框文字包裝和各種。覺得這個有點問題... – Billy 2014-10-09 15:45:58