table 如何做到同时固定表头和第一列

来源:9-7 表格布局详解

johnny_2008

2022-02-02

老师您好,节日快乐!
请问老师如何能同时固定表头和首列呢,我尝试过表头position:sticky;top:0;,首列position:sticky;left:0;但不起作用
老师我是这块没想清楚,为什么要给thead的tr提高层级,第一行除去第一列,其他列都能固定在显示正确,但在纵向滚动的时候第一行第一列却被下面的列档住了呢?
图片描述

写回答

1回答

西门老舅

2022-02-02

你好,节日快乐,too!

应该可以做到的,参考代码如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        .wrapper{

            width: 600px;

            height: 100px;

            overflow: auto;

        }

        table{

            width: 200%;

            border-collapse: collapse;

            border-spacing: 0;

        }

        th, td{

            border-bottom:1px black solid;

            text-align: center;

            vertical-align: middle;

        }

        tbody tr:nth-of-type(odd) td{  /*奇数行*/

            background: pink;

        }

        tbody tr:nth-of-type(even) td{  /*偶数行*/

            background: skyblue;

        }

        tbody tr td:first-child, thead tr th:first-child{

            position: sticky;

            left: 0;

            z-index: 1;

        }

        thead tr th{

            background: skyblue;

        }

        thead tr{

            position: sticky;

            top: 0;

            z-index: 2;

        }

    </style>

</head>

<body>

    <div class="wrapper">

        <table>

            <thead>

                <tr>

                    <th>编号</th>

                    <th>姓名</th>

                    <th>年龄</th>

                </tr>

            </thead>

            <tbody>

                <tr>

                    <td>1</td>

                    <td>张三</td>

                    <td>20</td>

                </tr>

                <tr>

                    <td>2</td>

                    <td>李四</td>

                    <td>22</td>

                </tr>

                <tr>

                    <td>3</td>

                    <td>王五</td>

                    <td>24</td>

                </tr>

                <tr>

                    <td>1</td>

                    <td>张三</td>

                    <td>20</td>

                </tr>

                <tr>

                    <td>2</td>

                    <td>李四</td>

                    <td>22</td>

                </tr>

                <tr>

                    <td>3</td>

                    <td>王五</td>

                    <td>24</td>

                </tr>

            </tbody>

        </table>

    </div>

</body>

</html>



0
3
johnny_2008
非常感谢!
2022-08-03
共3条回复

前端内功修炼 5大主流布局系统进阶

前端内功修炼:5大主流布局系统进阶

758 学习 · 231 问题

查看课程