利用純css實現(xiàn)table固定列與表頭中間橫向滾動的思路和實例
前言
最近在做的后臺管理系統(tǒng)要處理大量的表格,因為原項目是采用的for循環(huán)加拼接字符串的方式實現(xiàn);導(dǎo)致js代碼一大堆;各種單引號和雙引號的嵌套;讓人頭疼;遂引入vue.js;用v-for做模板渲染;工作量頓時減輕不少,心情舒暢;
文字被強制換行了
由于個別表的列數(shù)較多;文字都擠在一起向下?lián)Q行了;現(xiàn)場慘不忍睹;于是采用強制不換行的方式
<style>
div{
white-space: nowrap;//強制不折行
}
</style>
新的問題是強制換行之后整個寬度超出了body
于是考慮到把table重要的列給固定掉;中間用橫向滾動條來拖動;
<style>
div{
white-space: nowrap;
overflow: hidden;//控制溢出隱藏
overflow-x: scroll;//設(shè)置橫向滾動條
}
</style>
- 考慮到要做固定列;于是要把table拆分出來;然后用浮動把table還原;下面這個案例就是把一個table拆成三個;然后浮動起來還原
- 考慮到要做自適應(yīng);于是采用百分比來做;
<style>
div{
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>
<div>
<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>
</div>
</body>
于是上面這個案例就完成了
還有一點是中間table的表頭也需要固定 不能隨下面的額tbody去滑動;我這里采取的思路是用定位去做;既然上面都是用百分比去做;那么定位的left值也是百分比;這里就不上代碼了
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
表格的頭部固定效果通過css及jquery分別實現(xiàn)
表格的頭部固定可以利用css的樣式來實現(xiàn),也可以利用jquery把原來table的頭隱藏,具體實現(xiàn)如下,感興趣的朋友可以參考下,希望對大家有所幫助2013-08-18css固定table表頭的實現(xiàn)代碼可同時看到表頭和表格底部
一次性將數(shù)據(jù)全部顯示出來,頁面就會出現(xiàn)滾動條,這樣的話就不能同時看到表頭信息和表格底部的數(shù)據(jù)記錄,把表頭固定可以解決此問題2012-12-13
CSS實現(xiàn)表格首行首列固定和自適應(yīng)窗口的實例代碼
這篇文章主要介紹了CSS實現(xiàn)表格首行首列固定和自適應(yīng)窗口的實例代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11


