tabel html: thead vs th

155

Sepertinya (menurut contoh pada halaman ini , lagipula) bahwa jika Anda menggunakan THEAD, Anda tidak perlu menggunakan TH.

Benarkah itu? Jika demikian, apa kelebihan / kekurangan dari THEAD vs TH?

chris
sumber

Jawaban:

124

The <thead>tag digunakan untuk kelompok isi header dalam sebuah tabel HTML. The theadelemen harus digunakan dalam hubungannya dengan tbodydan tfootunsur-unsur.

Lebih lanjut: thead

Anda menggunakan <thead>untuk merangkum seluruh baris (atau baris) untuk menunjuk mereka sebagai Header Tabel. Menurut spec,

"Divisi ini memungkinkan agen pengguna untuk mendukung pengguliran badan tabel secara independen dari kepala dan kaki meja. Ketika tabel panjang dicetak, informasi kepala dan kaki meja dapat diulang pada setiap halaman yang berisi data tabel."

<th>, di sisi lain, digunakan untuk menata sel tertentu sebagai sel header daripada sel data biasa.

sgokhales
sumber
22
Saya selalu menggunakan keduanya.
11
Itu salah satu situs web kuno yang Anda tautkan dalam "More: thead".
masterxilo
lihat juga: pengembang
Mozilla.mozilla.org/en-US/docs/Web/HTML/Element/thead
3
@masterxilo Apa yang Anda harapkan? HTML itu sendiri sangat kuno.
Dan Bechard
1
@Kano Apakah Anda keberatan dengan seseorang yang menautkan ke RFC berusia 30 tahun yang masih digunakan? Apa bedanya usia halaman itu selama informasinya masih relevan?
jmbpiano
65

<th>sebenarnya adalah pengganti <td>ketika Anda ingin menandai sel sebagai sel header.

Jika Anda ingin menggunakan <thead>dan <th>jangan lupa untuk bersarang <th>di dalamnya <tr>. Kalau tidak, kodenya mungkin tidak valid.
Contoh:

<table>
  <thead>
    <tr>
      <th>Season</th>
      <th>Goals</th>
      <th>Assists</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>2009-2010</th>
      <td>25</td>
      <td>43</td>
    </tr>
    <tr>
      <th>2011-2012</th>
      <td>40</td>
      <td>20</td>
    </tr>
  </tbody>
</table>

cepat
sumber
2
Ini tidak menjawab pertanyaan awal, ini lebih merupakan tambahan dan harus berupa komentar, bukan jawaban.
Gerald Schneider
7
Saya tahu tetapi saya memiliki poin reputasi terlalu rendah untuk mengirim komentar jadi saya mencoba untuk mengirim jawaban. Maaf, kesalahan saya tetapi aturan seluruh layanan stack terkadang aneh bagi saya.
rflw
28
Sebenarnya, jawaban ini adalah satu-satunya yang menunjukkan penggunaan TH dan THEAD. +1 untuk itu!
barrypicker
4
Jika Anda menulis "Keuntungannya thdapat digunakan di dalam theaddan juga di dalam tbody, kedua elemen berguna dalam konteks mereka sendiri." yang menjawab pertanyaan ... Gerald hanya pilih-pilih tentang cara Anda menulis jawabannya, tetapi sebenarnya satu-satunya jawaban di sini yang memberikan contoh yang bermakna.
CPHPython
1
Saya bahkan tidak tahu bahwa thakan dicetak tebal secara default, tanpa CSS tambahan, terima kasih untuk itu!
CPHPython
11

thlebih spesifik daripada apa yang mungkin berada di dalam thead. Sebuah thsel adalah untuk menentukan header yang sesuai tdsel. Bahkan Anda bisa menambahkan headersatribut ke tdsel yang menunjuk ke id thsel (untuk pembaca layar). Jadi thberhubungan langsung dengan tds dari kolom itu.

Namun, theaddapat memasukkan informasi apa pun ... umumnya ya itu memang termasuk thsel tetapi juga dapat mencakup apa pun yang Anda anggap pantas sebagai informasi di bagian atas tabel (selain keterangan, karena ini memiliki tag sendiri sebagai baik).

Nick Manning
sumber
6

<thead> khusus karena dapat digunakan untuk mengulang baris tajuk di bagian atas halaman dalam versi cetak.

Diodeus - James MacFarlane
sumber
6

<thead>

Baris tabel dapat dikelompokkan menjadi kepala tabel, kaki meja, dan satu atau beberapa bagian tubuh tabel, menggunakan THEAD, TFOOTdan TBODYelemen, masing-masing. Divisi ini memungkinkan agen pengguna untuk mendukung pengguliran badan tabel secara independen dari kepala dan kaki meja. Ketika tabel panjang dicetak, informasi kepala dan kaki meja dapat diulang pada setiap halaman yang berisi data tabel.

Kepala meja dan kaki meja harus berisi informasi tentang kolom tabel. Badan tabel harus berisi baris data tabel.

Saat hadir, setiap THEAD, TFOOT, dan TBODY berisi grup baris. Setiap grup baris harus mengandung setidaknya satu baris, ditentukan oleh elemen TR.

<th>

Sel tabel dapat berisi dua jenis informasi: informasi header dan data. Perbedaan ini memungkinkan agen pengguna untuk membuat header dan data sel secara jelas, bahkan tanpa adanya style sheet. Misalnya, agen pengguna visual dapat menyajikan teks sel tajuk dengan font tebal. Sintesis suara dapat membuat informasi header dengan infleksi suara yang berbeda.

Elemen TH mendefinisikan sel yang berisi informasi header. Agen pengguna memiliki dua informasi header yang tersedia: konten elemen TH dan nilai atribut abbr. Agen pengguna harus merender konten sel atau nilai atribut abbr. Untuk media visual, yang terakhir mungkin sesuai ketika ada ruang yang tidak cukup untuk membuat konten penuh sel. Untuk media non-visual abbr dapat digunakan sebagai singkatan untuk header tabel saat ini diberikan bersama dengan konten sel yang mereka terapkan.

Sumber: http://www.w3.org/TR/html4/struct/tables.html

smartrahat
sumber
3

Sejauh yang saya tahu dari pengalaman, tidak ada perbedaan dalam rendering kecuali Anda menggunakan CSS untuk menentukan perbedaan dalam rendering. Sebuah <td>bagian dalam <thead>akan membuat yang sama sebagai <th>bagian dalam <table>atau <tbody>.

amphetamachine
sumber
Elemen thead juga mengandung baris.
DanMan
1
Saya pikir maksud Anda bagian <td>dalam <thead>menerjemahkan sama dengan <th>, bukan itu a<tr> .
frabjous
0

Tidak ada aturan keras di sini. The <thead>unsur adalah hanya cara lain untuk kelompok kolom dan baris, seperti <tbody>dan <tfoot>adalah. Jadi, Anda memiliki lebih banyak kemungkinan untuk scripting dan pemformatan.

DanMan
sumber