前端html之Table实现表头固定

无情 阅读:1047 2019-11-29 08:54:14 评论:0

说明:这里主要实现了表头的固定和上下滚动的滑动实现;时间的原因未对左右滑动进行实现学习和总结,后续会对左右滑动进行实现。

一、先上代码:

<!DOCTYPE html> 
<html> 
 
    <head> 
        <meta charset="utf-8" /> 
        <title>表格头部固定</title> 
        <style type="text/css"> 
            .table-head table,.table-body table{width:100%;border-collapse:collapse;} 
            .table-head{padding-right:17px;background-color:#999;color:#000;} 
            .table-body{width:100%; height:300px;overflow-y:auto;} 
            .table-body table tr:nth-child(2n+1){background-color:#f2f2f2;} 
             
            .table-body table tr td{ 
                border:1px solid red; 
                text-align: center; 
            } 
        </style> 
    </head> 
 
    <body> 
        <div style="width:100%;"> 
            <div class="table-head"> 
                <table> 
                    <colgroup><col span="2" style="width: 100px;" /><col /></colgroup> 
                    <thead> 
                        <tr> 
                            <th>序号</th> 
                            <th>内容</th> 
                        </tr> 
                    </thead> 
                </table> 
            </div> 
            <div class="table-body"> 
                <table> 
                    <colgroup><col span="2" style="width: 100px;" /><col /></colgroup> 
                    <tbody> 
                        <tr><td>1</td><td>我只是用来测试的</td></tr> 
                        <tr><td>2</td><td>我只是用来测试的</td></tr> 
                        <tr><td>3</td><td>我只是用来测试的</td></tr> 
                        <tr><td>4</td><td>我只是用来测试的</td></tr> 
                        <tr><td>5</td><td>我只是用来测试的</td></tr> 
                        <tr><td>6</td><td>我只是用来测试的</td></tr> 
                        <tr><td>7</td><td>我只是用来测试的</td></tr> 
                        <tr><td>8</td><td>我只是用来测试的</td></tr> 
                        <tr><td>9</td><td>我只是用来测试的</td></tr> 
                        <tr><td>10</td><td>我只是用来测试的</td></tr> 
                        <tr><td>11</td><td>我只是用来测试的</td></tr> 
                        <tr><td>12</td><td>我只是用来测试的</td></tr> 
                        <tr><td>13</td><td>我只是用来测试的</td></tr> 
                        <tr><td>14</td><td>我只是用来测试的</td></tr> 
                        <tr><td>15</td><td>我只是用来测试的</td></tr> 
                    </tbody> 
                </table> 
            </div> 
        </div> 
    </body> 
</html>

二、演示:

序号 内容
1 我只是用来测试的
2 我只是用来测试的
3 我只是用来测试的
4 我只是用来测试的
5 我只是用来测试的
6 我只是用来测试的
7 我只是用来测试的
8 我只是用来测试的
9 我只是用来测试的
10 我只是用来测试的
11 我只是用来测试的
12 我只是用来测试的
13 我只是用来测试的
14 我只是用来测试的
15 我只是用来测试的

三、注意:

其实关键之处在于

1、使用了colgroup标签,来对上下两个表格的列宽进行了定义,让他们保持一致。

2、上边的div .table-head添加了样式padding-right:17px,这个宽度是为了保证跟下边的div .table-body的滚动条保持一致,同时下边的表格.table-body添加了样式overflow-y:scroll;

只要保证上述两点的话,你也可以做出固定表头的表格来,同时不会发生上下的列不对齐的问题,屡试不爽!

文章来源于:https://www.cnblogs.com/dacuotecuo/p/3657779.html,请尊重原创,转载请注明出处。

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号