Rumah > hujung hadapan web > tutorial js > Bagaimana Mengekalkan Pengepala Jadual Tetap Semasa Menatal Isi dalam HTML Menggunakan CSS dan JavaScript?

Bagaimana Mengekalkan Pengepala Jadual Tetap Semasa Menatal Isi dalam HTML Menggunakan CSS dan JavaScript?

Barbara Streisand
Lepaskan: 2024-12-15 07:49:12
asal
411 orang telah melayarinya

How to Keep Table Headers Fixed While Scrolling the Body in HTML Using CSS and JavaScript?

Adakah terdapat teknik CSS/JavaScript penyemak imbas merentas untuk memaparkan jadual HTML yang panjang supaya pengepala lajur kekal pada skrin dan tidak menatal dengan badan jadual?

Dalam Microsoft Excel, kami sering menggunakan ciri "tetingkap beku" untuk memastikan pengepala lajur stabil semasa kami menatal kandungan jadual. Adakah terdapat teknik penyemak imbas yang serupa dalam HTML?

Menggunakan transformasi CSS, ini boleh dilakukan dengan hanya empat baris kod JavaScript:

  1. Balut jadual anda dalam bekas dengan ID "balut" dan tetapkan sifat limpahannya kepada "auto".
  2. Dengar acara "tatal" pada bekas.
  3. Di dalam pengendali acara, hitung nilai terjemahan berdasarkan sifat scrollTop.
  4. Gunakan nilai terjemahan yang dikira pada elemen tead jadual menggunakan sifat transformasi.

Pendekatan ini mempunyai kelebihan berikut:

  • Bersih dan cekap, hanya menggunakan empat baris JavaScript.
  • Tiada kebergantungan JavaScript luaran.
  • Berfungsi dengan semua konfigurasi jadual, termasuk reka letak tetap.
  • Menyokong penyemak imbas moden, termasuk Chrome, Safari, Firefox dan Edge.

Berikut ialah kod:

document.getElementById("wrap").addEventListener("scroll", function(){
   var translate = "translate(0,"+this.scrollTop+"px)";
   this.querySelector("thead").style.transform = translate;
});
Salin selepas log masuk

Di bawah ialah contoh lengkap untuk rujukan:

// JavaScript
document.getElementById("wrap").addEventListener("scroll",function(){
   var translate = "translate(0,"+this.scrollTop+"px)";
   this.querySelector("thead").style.transform = translate;
});

// CSS
#wrap {
    overflow: auto;
    height: 400px;
}

td {
    background-color: green;
    width: 200px;
    height: 100px;
}

// HTML
<div>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Mengekalkan Pengepala Jadual Tetap Semasa Menatal Isi dalam HTML Menggunakan CSS dan JavaScript?. 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