這篇文章主要為大家介紹了關於如何利用純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值也是百分比;這裡就不上程式碼了
以上是純css實作table固定列與表頭中間橫向滾動實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!