2010-08-18 64 views
14

考慮到此示例(http://jsfiddle.net/A8gHg/,代碼也在下面),請儘量縮小窗口使得示例的大小被壓扁。div中的包含表

<div style="background-color:blue"> 
    <table style="width:100%"> 
     <tr> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
     </tr> 
    </table> 
</div> 

你會注意到,在文本框(正確地)不換到新的生產線,因爲他們在個人<td>秒。

但是,如藍色所示,包含div的表格未完全包裝。

我該如何讓包含div的孩子完全包含table

回答

26

編輯:

添加display:table到包裝DIV。

<div style="background-color:blue;padding:5px;display:table;"> 
    <table style="margin:5px;"> 
     <tr> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
      <td> 
       <input type="text" style="width:150px"/> 
      </td> 
     </tr> 
    </table> 
</div> 

http://jsfiddle.net/A8gHg/11/

+1

OK,但這隻適用於如果您修復表元素的寬度,提前:)。 – 2010-08-18 03:42:26

+0

是啊...更新 – 2010-08-18 03:42:50

+0

總是讓我覺得很奇怪,將'display:table'添加到不是表格的東西,而是+1,因爲這是有效的。 – 2010-08-18 03:45:10