Rumah >hujung hadapan web >tutorial css >Mengapa Pengepala Meja Melekit Kehilangan Sempadannya, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pengepala Meja Melekit Kehilangan Sempadannya, dan Bagaimana Saya Boleh Membetulkannya?

DDD
DDDasal
2024-11-28 16:58:11957semak imbas

Why Do Sticky Table Headers Lose Their Borders, and How Can I Fix It?

Isu Gaya Sempadan dengan Elemen Kedudukan Melekit

Dalam HTML, menggunakan kedudukan: melekat pada elemen boleh mencipta isu pemaparan unik apabila ia datang ke sempadan. Isu ini timbul apabila jidar elemen melekit berinteraksi dengan elemen lain dalam reka letak.

Masalahnya:

Apabila elemen diletakkan melekit, ia akan diperbaiki selepas pengguna tatal melepasi titik tertentu. Walau bagaimanapun, sempadan elemen melekit mungkin tidak mematuhi elemen jika syarat berikut dipenuhi:

  • Elemen induk mempunyai keruntuhan sempadan: runtuh (nilai lalai).
  • Elemen melekit ialah pengepala jadual ().

The Sebab:

Keruntuhan sempadan dalam CSS menggabungkan sempadan sel atau elemen bersebelahan, mewujudkan satu sempadan. Dalam kes pengepala jadual melekit, sempadan elemen boleh terjejas oleh keruntuhan sempadan ini, menyebabkan ia hilang atau berkelakuan secara tidak dijangka.

Penyelesaian:

Untuk menyelesaikan isu ini, terdapat dua pendekatan:

1. Gunakan sempadan-runtuh: pisahkan

Menukar sempadan-runtuh: runtuh kepada sempadan-runtuh: berasingan memastikan bahawa sempadan tidak runtuh. Setiap elemen (termasuk pengepala melekit) akan mempunyai sempadan bebasnya.

2. Gayakan sempadan secara eksplisit

Daripada bergantung pada warisan CSS, gunakan sempadan secara eksplisit pada elemen melekit. Ini boleh dilakukan dengan menggunakan sifat berikut:

  • border-top: Tetapkan sempadan atas pengepala melekit.
  • border-bottom: Tetapkan sempadan bawah pengepala melekit. .
  • sempadan-kiri: Tetapkan sempadan kiri pengepala melekit (untuk lajur pertama sahaja).
  • sempadan-kanan: Tetapkan sempadan kanan pengepala melekit (untuk lajur terakhir sahaja).

Contoh:

table {
  border-collapse: separate;
}

table th {
  border-top: 2px solid;
  border-bottom: 2px solid;
}

table th:first-child {
  border-left: 2px solid;
}

table th:last-child {
  border-right: 2px solid;
}

table thead th {
  position: sticky;
  top: 0;
  background-color: #edecec;
}

Dengan melaksanakan salah satu daripada penyelesaian ini, anda boleh memastikan bahawa sempadan pengepala jadual melekit anda kekal kelihatan dan berkelakuan seperti yang dimaksudkan, walaupun semasa pengguna menatal halaman.

Atas ialah kandungan terperinci Mengapa Pengepala Meja Melekit Kehilangan Sempadannya, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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