Tablodaki Çoklu <thead> / <tbody> Geçerli mi?


82

Buna benzer bir liste listesi düşünün:

var list = [
  { name: 'group1', 
    items: [ 1, 2, 3, 4, 5 ]
  },
  { name: 'group2', 
    items: [ 1, 2, 3, 4, 5 ]
  },
  etc...
]

Şimdi tüm "tablolar veri içindir, tasarım değil" argümanını unutarak, tek bir tablo görüntülemek ve her giriş için listayrı ayrı olmak istedim . <thead><tbody>list

Bu teknik olarak geçerli mi? Bu tarayıcıda çalışıyor, ancak örümcek duyularım bu konuda karıncalanma yapıyor .


1
Kesinlikle birden fazla tbody'niz olabilir, thead hakkında görmek için teknik özelliklere bakmam gerekir.
Kevin B

2
@KevinB: IIRC en fazla bir thead ve bir tfoot: w3.org/TR/html-markup/table.html#table
Zeta

1
@unor Sorum çoklu <thead>ve <tfooter>unsurlarla ilgili, değil <tbody>. Aynı değildirler ve ayrı kurallar tarafından belirlenirler.
AlbertEngelB

@ Dropped.on.Caprica: Ah doğru, sizin de birden fazla thead öğe istediğinizi özledim . Oylamayı geri çektim.
UNOR

Yanıtlar:


120

İstediğiniz kadar <tbody>öğeye sahip olabilirsiniz , ancak her biri <thead>ve öğelerinin birden fazla olamaz <tfoot>. Referans :

İçerik modeli:

Bu sırada: isteğe bağlı olarak bir başlık öğesi, ardından sıfır veya daha fazla ortak grup öğesi, ardından isteğe bağlı olarak bir thead öğesi, ardından sıfır veya daha fazla tbody öğesi veya bir veya daha fazla tr öğesi, ardından isteğe bağlı olarak bir tfoot öğesi , isteğe bağlı olarak biriyle karıştırılmış veya daha fazla komut dosyası destekleyen öğe.


Ve her birini tanımlamak için normalin th scope=rowgroupiçinde kullanabilirsiniz . Bkz. "Örnek" . trtbody
CletusW

12

En fazla bir theadve bir tane tfoot izin verilir , bu nedenle ek başlıklar oluşturmamalısınız. Sonuçta thin a thead, sütunlarınıza "günün saati", "sıcaklık", "yanmakta olan kedi sayısı" gibi bir anlam verir.

Listenizdeki girişler ilişkiliyse, hepsi aynı tabloda olmalı ve bu ilişkiyi görüntülemek için uygun bir başlık sağlamalısınız.

Girişler gerçekte ilgisiz ise, bunların her biri için tek bir tablo sağlamalısınız. Yine de güzel bir sonuç elde etmek için aynı CSS'yi her tabloya uygulayabilirsiniz.


5
"Listenizdeki girişler birbiriyle ilişkiliyse, hepsi aynı tabloda olmalı ve bu ilişkiyi görüntülemek için uygun bir başlık sağlamalısınız" - Aynı başlığın çok uzun bir tabloda tekrarlanmasının bazen istenebileceğini düşünüyorum, bu nedenle kullanıcı sütunların ne olduğunu hatırlamak için en üste gitmek zorunda değilsiniz. Elbette, bunun için başka çözümler de vardır (örn. "Yapışkan" bir tablo başlığı kullanmak için JavaScript veya diğer satırlardan görsel olarak farklı kılmak için tablo satırı öğelerinde CSS kullanmak).
Mike

5

Bunun idnitelikler gibi olduğunu düşünüyorum . Benzersiz olmaları gerekir, ancak aslında aynı sayfada yeniden kullanabilir ve yine de seçebilirsiniz. Bununla birlikte, yapılabilmesi, yapılması gerektiği anlamına gelmez.

Buna karşı tavsiye ederim.


3
Birden fazlasına sahip olmanın yanlış bir <tbody>tarafı yoktur, ancak teknik özelliklere göre sadece bir <thead>ve bir olabilir <tfoot>.
Sivri

Söyleyebileceğim kadarıyla, bunu yapmayı hiç önermiyordu. Sadece tarayıcıda çalıştığını mı söylüyorsun?
AlbertEngelB

@Sebas İlk cümle, tıpkı id gibi, ondan fazlasını ekleyebileceğinizi bilmenizi sağlamaktır, ancak yapmamalısınız.
Justin

@Sebas Daha İyi? Bazen kafamın içinde ne yazdığımdan daha nettir: S
Justin

Hayır, tamamen özür dilerim, hata bendim. Şerefe!
Sebas
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.