溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css怎么讓表格某一行固定不動

發(fā)布時間:2021-02-03 14:20:34 來源:億速云 閱讀:249 作者:小新 欄目:web開發(fā)

這篇文章主要介紹css怎么讓表格某一行固定不動,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

css設置表格某一行固定不動的方法:1、使用css定位th,并根據(jù)父級滾動條scrolltop的偏移量獲取值,然后用js把偏移量賦值到th的定位top上;2、使用jq插件設置表格某一行固定不動。

css如何讓表格某一行固定不動?

css如何讓表格某一行固定不動?下面本篇文章給大家介紹一下使用CSS設置表格第一行(表頭)固定不動的方法。

一、使用css + js來實現(xiàn)表頭固定

css怎么讓表格某一行固定不動

使用css定位th 根據(jù)父級滾動條scrolltop的偏移量獲取值,在用js把偏移量賦值到th的定位top上。就做到了表頭固定。(此方法需要固定高度)

推薦:《css視頻教程》

項目demo

css樣式部分 主要是出現(xiàn)滾動條和定位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部分 自己做肯定內(nèi)容超級多 demo我就不復制那么多內(nèi)容了。

<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內(nèi)容 使用jq的on事件,監(jiān)聽滾動根據(jù)我自己項目的樣式修改了下自己的樣式。大家使用可自行調(diào)整。

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怎么讓表格某一行固定不動

css怎么讓表格某一行固定不動

css怎么讓表格某一行固定不動

以上是“css怎么讓表格某一行固定不動”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

css
AI