您好,登錄后才能下訂單哦!
這篇文章主要介紹css怎么讓表格某一行固定不動,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
css設置表格某一行固定不動的方法:1、使用css定位th,并根據父級滾動條scrolltop的偏移量獲取值,然后用js把偏移量賦值到th的定位top上;2、使用jq插件設置表格某一行固定不動。
css如何讓表格某一行固定不動?
css如何讓表格某一行固定不動?下面本篇文章給大家介紹一下使用CSS設置表格第一行(表頭)固定不動的方法。
一、使用css + js來實現表頭固定
使用css定位th 根據父級滾動條scrolltop的偏移量獲取值,在用js把偏移量賦值到th的定位top上。就做到了表頭固定。(此方法需要固定高度)
推薦:《css視頻教程》
項目demo
css樣式部分 主要是出現滾動條和定位th還有固定高度。
<style> .table-responsive { overflow: auto !important; } .table-th-css { background: #EFEFF4 !important; position: relative !important; text-align: center; top: 0; } .section-scroll{ height:417px; } </style>
html部分 自己做肯定內容超級多 demo我就不復制那么多內容了。
<div class="table-responsive section-scroll"> <table class="table table-bordered"> <thead class="table-header"> <tr> <th class="table-th-css"> <div>部門</div> </th> <th class="table-th-css"> <div>用戶名稱</div> </th> <th class="text-center table-th-css"> <div>1月</div> </th> <th class="text-center table-th-css"> <div>2月</div> </th> <th class="text-center table-th-css"> <div>3月</div> </th> <th class="text-center table-th-css"> <div>4月</div> </th> <th class="text-center table-th-css"> <div>5月</div> </th> <th class="text-center table-th-css"> <div>6月</div> </th> <th class="text-center table-th-css"> <div>7月</div> </th> <th class="text-center table-th-css"> <div>8月</div> </th> <th class="text-center table-th-css"> <div>9月</div> </th> <th class="text-center table-th-css"> <div>10月</div> </th> <th class="text-center table-th-css"> <div>11月</div> </th> <th class="text-center table-th-css"> <div>12月</div> </th> <th class="text-center table-th-css"> <div>合計</div> </th> </tr> </thead> <tbody > <tr class="text-center" > <td > 西門慶 </td> <td class="table-textWidth"> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> <td> 西門慶 </td> </tr> </tbody> </table> </div>
js內容 使用jq的on事件,監聽滾動根據我自己項目的樣式修改了下自己的樣式。大家使用可自行調整。
var tableCont = $('.section-scroll tr th'); //獲取th var tableCont_child = $('.section-scroll tr th div'); //獲取th下邊的div var tableScroll = $('.section-scroll'); //獲取滾動條同級的class function scrollHandle() { var scrollTop = tableScroll.scrollTop(); // 當滾動距離大于0時設置top及相應的樣式 if (scrollTop > 0) { tableCont.css({ "top": scrollTop + 'px', "marginTop": "-1px", "padding": 0 }); tableCont_child.css({ "borderTop": "1px solid gainsboro", "borderBottom": "1px solid gainsboro", "marginTop": "-1px", "padding": "8px" }) } else { // 當滾動距離小于0時設置top及相應的樣式 tableCont.css({ "top": scrollTop + 'px', "marginTop": "0", }); tableCont_child.css({ "border": "none", "marginTop": 0, "marginBottom": 0, }) } } tableScroll.on('scroll', scrollHandle);
這樣第一種方式的表頭固定就完成了。在瀏覽器上看著基本沒瑕疵,但是我用mui使用這種方法,可能是app的滾動有回彈所以效果會顯得有點卡頓。本人菜雞不喜勿噴(歡迎回復…)。
二、使用jq插件 (這是去年在公司讓做表頭固定找的jq插件 由于技術水平問題我在angular 中使用了jq 反正最后解決了 哈哈)
由于是去年簡單草率的做了個demo 截了個圖 主要使用了 jquery.fixedheadertable.min.js 這個插件 上圖上demo (不喜勿噴,本人小白)
插件地址:http://www.jq22.com/jquery-info10153
以上是“css怎么讓表格某一行固定不動”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。