2016-01-20 98 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