在vue中有现成的element-ui有这种表格效果,但手头项目规定用原生js来写。用bootstrap发现没有像el-ui一样现成的表头固定表身滚动的处理方法,为了保留bootstrap好看的样式,只好把两个table拼接成一个来实现效果,后来发现其实对table及其子元素加特定的Css就能实现,以下是关键代码
#t-head,#t-body tr{
display:table;
width:100%;
table-layout: fixed;
}
#t-body{
display:block;
height:280px;
overflow-y: scroll;
}
<table id="items" cellspacing="0" cellpadding="0">
<thead id="t-head">
<tr>
<td>序号</td>
<td>时间</td>
<td>操作</td>
</tr>
</thead>
<tbody id="t-body">
<tr><td>1</td><td>2021-1-28 14:35:28</td><td><button>查看</button></td></tr>
</tbody>
</table>