视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
纯css实现table固定列与表头中间横向滚动实例讲解
2020-11-27 18:50:11 责编:小采
文档


这篇文章主要给大家介绍了关于如何利用纯css实现table固定列与表头,中间横向滚动的相关资料,文中通过示例代码详细的给大家介绍了关于实现该效果的思路与方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

前言

最近在做的后台管理系统要处理大量的表格,因为原项目是采用的for循环加拼接字符串的方式实现;导致js代码一大堆;各种单引号和双引号的嵌套;让人头疼;遂引入vue.js;用v-for做模板渲染;工作量顿时减轻不少,心情舒畅;

文字被强制换行了

由于个别表的列数较多;文字都挤在一起向下换行了;现场惨不忍睹;于是采用强制不换行的方式

<style>
p{
 white-space: nowrap;//强制不折行
}
</style>

新的问题是强制换行之后整个宽度超出了body

于是考虑到把table重要的列给固定掉;中间用横向滚动条来拖动;

<style>
p{
 white-space: nowrap;
 overflow: hidden;//控制溢出隐藏
 overflow-x: scroll;//设置横向滚动条
}
</style>
  • 考虑到要做固定列;于是要把table拆分出来;然后用浮动把table还原;下面这个案例就是把一个table拆成三个;然后浮动起来还原

  • 考虑到要做自适应;于是采用百分比来做;

  • <style>
     p{
     width: 100%;
     white-space: nowrap;
     }
     table td{
     border: 1px solid #000;
     }
     .tab1{
     width: 20%;
     float: left;
     }
     .tab2{
     width: 70%;
     float: left;
     overflow: hidden;
     overflow-x: scroll;
     }
     .tab3{
     width: 10%;
     float: left;
     }
    </style>
    <body>
    <p>
     <table class="tab1">
     <thead>
     <tr>
     <th>首列</th>
     </tr>
     </thead>
     <tbody>
     <tr>
     <td>首列</td>
     </tr>
     </tbody>
     </table>
    
     <table class="tab2">
     <thead>
     <tr>
     <th>中间列</th>
     </tr>
     </thead>
     <tbody>
     <tr>
     <td>中间列</td>
     </tr>
     </tbody>
     </table>
    
     <table class="tab3" >
     <thead>
     <tr>
     <th>尾列</th>
     </tr>
     </thead>
     <tbody>
     <tr>
     <td>尾列</td>
     </tr>
     </tbody>
     </table>
    </p>
    </body>

    于是上面这个案例就完成了

    还有一点是中间table的表头也需要固定 不能随下面的额tbody去滑动;我这里采取的思路是用定位去做;既然上面都是用百分比去做;那么定位的left值也是百分比;这里就不上代码了

    下载本文
    显示全文
    专题