這篇文章主要給大家介紹了關於如何利用純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>
<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值也是百分比;這裡就不上代碼了