Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mencipta Pengepala Tetap dan Jadual Lajur Pertama Tetap Hanya Menggunakan CSS?

Bagaimana untuk Mencipta Pengepala Tetap dan Jadual Lajur Pertama Tetap Hanya Menggunakan CSS?

Patricia Arquette
Lepaskan: 2024-12-17 08:48:25
asal
844 orang telah melayarinya

How to Create a Fixed Header and Fixed First Column Table Using Only CSS?

Cara Membuat Jadual dengan Pengepala Tetap dan Lajur Tetap Hanya Menggunakan CSS

Masalah

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.

Penyelesaian

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.

Langkah

  1. Bekas: Mulakan dengan meletakkan jadual anda di dalam div induk dan menggunakan limpahan: tatal ke div, dengan itu membolehkan menatal.
  2. Kemelekatan Tajuk dan Lajur: Manfaatkan kedudukan: sifat melekit bersama-sama dengan nilai atas, kanan atau kiri untuk menentukan tepi mana elemen jadual harus dipatuhi.
  3. Kemelekatan Tajuk Lajur Pertama: Gunakan sifat thead th:first-child to pastikan pengepala lajur pertama kekal di tepi kiri.

Contoh

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>
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan