html tabloları: thead vs th


155

Görünüşe göre ( bu sayfadaki örneklere göre ), eğer THEAD kullanıyorsanız TH'yi kullanmanız gerekmiyor gibi görünüyor .

Bu doğru mu? Eğer öyleyse, THEAD vs TH'nin avantajları / dezavantajları nelerdir?

Yanıtlar:


124

<thead>Etiket grubuna bir HTML tablosunda başlığı içeriği kullanılır. theadElemanı ile birlikte kullanılmalıdır tbodyve tfootelemanlar.

Daha fazla: thead

<thead>Tablo Üstbilgisi olarak atamak için tüm satırı (veya satırları) kapsüllemek için kullanırsınız . Spesifikasyonlara göre,

"Bu bölüm, kullanıcı aracılarının tablo gövdelerinin ve ayağından bağımsız olarak tablo gövdelerinin kaydırılmasını desteklemesini sağlar. Uzun tablolar yazdırıldığında, tablo verileri içeren her sayfada tablo başı ve ayak bilgileri tekrarlanabilir."

<th>Öte yandan, belirli bir hücreyi sıradan bir veri hücresi yerine başlık hücresi olarak biçimlendirmek için kullanılır.


22
Ben her zaman ikisini de kullanırım.

11
"More: thead" de bağlandığınız eski bir web sitesi
masterxilo

ayrıca bakınız: Mozilla'nın doc geliştiricisi.mozilla.org/
Adrien

3
@masterxilo Ne bekliyordun? HTML'nin kendisi oldukça eski.
Dan Bechard

1
@Kano Halen kullanılmakta olan 30 yaşındaki bir RFC'ye bağlanan birine itiraz eder misiniz? Bilgiler hala alakalı olduğu sürece sayfanın kaç yaşında olması ne anlama gelir?
jmbpiano

65

<th>aslında <td>bir hücreyi başlık hücresi olarak işaretlemek istediğinizde bunun yerine kullanılır .

Kullanmak istiyorsanız <thead>ve iç <th>içe <th>yerleştirmeyi unutmayın <tr>. Aksi takdirde kod geçerli olmayabilir.
Misal:

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


2
Bu asıl soruya cevap vermiyor, daha çok bir zeyilname ve cevap yerine bir yorum olmalı.
Gerald Schneider

7
Biliyorum ama yorum yazmak için çok düşük itibar puanım var, bu yüzden bir cevap göndermeye çalıştım. Üzgünüm, benim hatam ama bütün yığın servis kuralları bazen benim için garip.
rflw

28
Aslında, bu cevap TH ve THEAD kullanımını gösteren tek cevaptır. Bunun için +1!
Mart'ta barrypicker

4
"Avantajı tha içinde theadve a içinde de kullanılabilirse tbody, her iki öğe de kendi bağlamlarında yararlıdır." soruyu cevaplayan ... Gerald, yanıtı yazma şekliniz konusunda seçici olmakla birlikte, burada anlamlı bir örnek sunan tek cevap aslında.
CPHPython

1
Bunu bile bilmiyordum thalır kalın , ekstra CSS olmadan varsayılan olarak ed bunun için teşekkür!
CPHPython

11

thiçinde ne olduğundan daha belirgindir thead. Bir thhücre karşılık gelen başlık belirtmektir tdhücreleri. Aslında, hücrenin kimliğine işaret eden bir hücreye (ekran okuyucular için) bir headersözellik ekleyebilirsiniz . Yani doğrudan o sütunun s'leri ile ilgilidir.tdththtd

Bununla birlikte, theadherhangi bir bilgi içerebilir ... genellikle evet thhücreleri içerir, ancak tablonun üst kısmındaki bilgi olarak uygun göreceğiniz her şeyi de içerebilir (bir altyazı dışında, çünkü bunun kendi etiketi iyi).



6

<thead>

Tablo satır kullanarak, bir tablo kafası, masa ayağı ve bir ya da daha fazla tablo gövde kısımları halinde gruplanabilir THEAD, TFOOTve TBODYsırasıyla elemanları. Bu bölüm, kullanıcı aracılarının tablo gövdelerinden ve ayağından bağımsız olarak tablo gövdelerinin kaydırılmasını desteklemesini sağlar. Uzun tablolar yazdırıldığında, tablo verileri içeren her sayfada masa başı ve ayak bilgileri tekrarlanabilir.

Masa başı ve masa ayağı tablonun sütunları hakkında bilgi içermelidir. Tablo gövdesi, tablo verisi satırlarını içermelidir.

Var olduğunda, her THEAD, TFOOT ve TBODY bir satır grubu içerir. Her satır grubu, TR öğesi tarafından tanımlanan en az bir satır içermelidir.

<th>

Tablo hücreleri iki tür bilgi içerebilir: başlık bilgileri ve veriler. Bu ayrım, kullanıcı aracılarının stil sayfalarının yokluğunda bile üstbilgi ve veri hücrelerini belirgin bir şekilde oluşturmasını sağlar. Örneğin, görsel kullanıcı aracıları başlık hücresi metnini kalın yazı tipiyle gösterebilir. Konuşma sentezleyicileri, başlık bilgilerini farklı bir ses bükümü ile oluşturabilir.

TH öğesi, başlık bilgisi içeren bir hücre tanımlar. Kullanıcı aracıları iki başlık bilgisine sahiptir: TH elemanının içeriği ve abbr özelliğinin değeri. Kullanıcı aracıları hücrenin içeriğini veya abbr özelliğinin değerini oluşturmalıdır. Görsel medya için, ikincisi hücrenin tüm içeriğini oluşturmak için yeterli alan olmadığında uygun olabilir. Görsel olmayan ortam için, kısaltmalar, uygulandıkları hücrelerin içeriği ile birlikte oluşturulduğunda tablo başlıkları için bir kısaltma olarak kullanılabilir.

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


3

Deneyimden anlayabildiğim kadarıyla, oluşturmada bir fark belirtmek için CSS kullanmıyorsanız oluşturmada hiçbir fark yoktur. Bir <td>iç içe <thead>bir <th>iç içe bir<table> ya da bir <tbody>.


Bir thead öğesi de satırlar içerir.
DanMan

1
Bence <td>bir <thead>ile aynı anlamına gelir , a ile aynı <th>değil <tr>.
frabjous

0

Burada zor kurallar yok. <thead>Eleman, tıpkı gruba sadece başka yolu sütunlar ve satırlar olduğunu <tbody>ve <tfoot>olduğunu. Böylece komut dosyası oluşturma ve biçimlendirme için daha fazla seçeneğiniz vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.