Dalam usaha untuk memaparkan data secara teratur , anda menyasarkan untuk mencipta jadual HTML yang menampilkan pengepala tetap dan lajur pertama tetap. Namun, penerokaan anda telah menemui pelbagai penyelesaian yang bergantung pada JavaScript atau jQuery, memperkenalkan potensi kelemahan pada penyemak imbas mudah alih disebabkan oleh tingkah laku menatal yang kurang ideal. Oleh itu, usaha anda kini tertumpu pada mencari penyelesaian CSS tulen.
Nasib baik, kedudukan: sifat melekit, disokong dalam versi moden Chrome, Firefox dan Edge, menawarkan cara untuk mencapai tingkah laku yang diingini. Anda boleh menggabungkannya dengan limpahan: sifat tatal untuk mencipta jadual dinamik dengan elemen pengepala dan lajur tetap.
Penanda HTML:
<div class="container"> <table> <thead> <tr> <th></th> <th>headheadhead</th> <th>headheadhead</th> <th>headheadhead</th> <th>headheadhead</th> <th>headheadhead</th> <th>headheadhead</th> <th>headheadhead</th> </tr> </thead> <tbody> <tr> <th>head</th> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> </tr> <tr> <th>head</th> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> </tr> <tr> <th>head</th> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> </tr> <tr> <th>head</th> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> </tr> <tr> <th>head</th> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> </tr> <tr> <th>head</th> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> <td>body</td> </tr> </tbody> </table> </div>
CSS:
div { max-width: 400px; max-height: 150px; overflow: scroll; } thead th { position: -webkit-sticky; /* for Safari */ position: sticky; top: 0; } tbody th { position: -webkit-sticky; /* for Safari */ position: sticky; left: 0; } thead th:first-child { left: 0; z-index: 2; } thead th { background: #000; color: #FFF; z-index: 1; } tbody th { background: #FFF; border-right: 1px solid #CCC; box-shadow: 1px 0 0 0 #ccc; } table { border-collapse: collapse; } td, th { padding: 0.5em; }
Pelaksanaan ini membolehkan anda menatal kedua-duanya menegak dan mendatar sambil mengekalkan pengepala dan lajur pertama pada tempatnya, memberikan pengalaman pengguna yang lebih baik untuk melihat data jadual.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pengepala Tetap dan Jadual Lajur Pertama Tetap Hanya Menggunakan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!