2023年12月10日 星期日

表格第一列及第一行固定不動

 【語法】

<!DOCTYPE html>

<html>

<head>

   <meta charset="UTF-8">

   <title>表格第一列及第一行固定不動</title>

</head>

<style>

  div{

    width:70%;

    height:286px;

    overflow:auto;/* div高度有效。無此值則表格無捲軸 */

  }


  table {

    border:0px solid red; /* 測試用 */

    table-layout: fixed;

    width: 200px; /* 固定寬度 */

    border-collapse: collapse;

  }


  td, th {

    border:1px solid gray;

    border-left:0px;

    border-top:0px;

    width:100px;

  }


  td{

    left:0;     /* 須為0,行首全部固定,左右捲軸不能動。此屬性放在 td:first-child 也可以 */

    height:30px;

  }


  th {

    position:sticky;

    top:0;        /* 須為0,列首全部固定,上下捲軸不能動(包括灰色的那一格) */

    height:36px;

    background-color:lightblue;

  }


  th:first-child{

    position:sticky;

    left:0;      /* 須為0,列首第一格固定,左右捲軸不能動(灰色的那一格) */

    z-index:1;   /* 值須大於等於 1,代表固定不動。若等於0,則直橫向捲動都會變動 */

    background-color:lightgrey;

  }


  td:first-child{

    position:sticky; /* 「必須」放在此處*/

    background-color:lightpink;

  }


</style>

<body>

<div>

   <table>

      <thead>

         <tr>

            <th>交叉</th>

            <th>行一</th>

            <th>行二</th>

            <th>行三</th>

            <th>行四</th>

         </tr>

      </thead>


      <tbody align="center">

         <tr>

            <td>列一</td>

            <td>行01列01</td>

            <td>行02列01</td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td>列二</td>

            <td>行01列02</td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td>列三</td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td>列四</td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>


         <tr>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

            <td></td>

         </tr>

      </tbody>

   </table>

</div>

</body>

</html>


【截圖】

以下 Chrome:


以下 Firefox:




以下 Edge: