2016-01-20 172 views
1

我有一張表,每列都有過濾器。當過濾器匹配很少的記錄時,我的tfoot內容將會上下跳動。所以我想將tbody的高度設置爲固定值,讓tfoot留在底部。使tbody固定高度

我見過像how to define minimum height for tbody in css類似的問題,

,但它並沒有解決我的問題。

包裝div的設置高度不能解決這個問題。設置tbody'display:block'將使列寬不再與ad對齊。

謝謝。

回答

1

table { table-layout: fixed; }要控制高度處的div TDS的內部調整的div的高度

article非常全面

var mid = document.querySelector('.center'); 
 
var up = document.getElementById('up'); 
 

 
up.addEventListener('click', function(e) { 
 
    mid.style.height = "200px"; 
 
}, false);
table { 
 
    table-layout: fixed; 
 
    border: 3px solid blue; 
 
    border-collapse: collapse; 
 
    border-spacing: 0; 
 
    width: 90%; 
 
} 
 
th { 
 
    border: 1px dashed green; 
 
} 
 
td { 
 
    border: 1px solid black; 
 
} 
 
div { 
 
    border: 1px dashed red; 
 
    min-height: 50px; 
 
} 
 
.center { 
 
    width: 100%; 
 
    height: 100px; 
 
    min-height: 100px; 
 
    max-height: 200px; 
 
}
<button id="up">UP</button> 
 

 

 
<table> 
 
    <thead> 
 
    <tr> 
 
     <th> 
 
     <div></div> 
 
     </th> 
 
     <th> 
 
     <div></div> 
 
     </th> 
 
     <th> 
 
     <div></div> 
 
     </th> 
 
    </tr> 
 
    <thead> 
 
     <tbody> 
 
     <tr> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
      <td> 
 
      <div class="center"></div> 
 
      </td> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
      <td> 
 
      <div></div> 
 
      </td> 
 
     </tr> 
 
     </tbody> 
 
</table>

+0

對不起,我無法弄清楚如何能行得通。問題是tbody是動態填充的。如果過濾器匹配沒有記錄,則可能根本沒有tr。或者,我應該只使用javascript強制在tbody中插入空白行? – gm2008

+1

@ gm2008我不認爲「tbody」是需要關注的元素,表格是面向內容的。 'tbody'永遠不會觸及內容。看看我的演示,你會看到中間單元格的內容在高度上增加,表格將適應它。 – zer00ne

+1

*或者我應該只使用JavaScript來在tbody中強制插入空白行?*如果您獲得動態生成的表格,CSS仍會影響它。我必須處理那些蹩腳的表格,我使用80%CSS和20%JS/jQ。 – zer00ne