Множество <thead>/<tbody> в таблице Valid?

Представьте список списков, подобных этому:

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

Теперь, забыв, что весь аргумент "tables are for data not design", я хотел отобразить одну таблицу для list и иметь отдельный <thead> и <tbody> для каждой записи в list.

Является ли это технически обоснованным? Это работает в браузере, но мои ощущения паука покалывают на этом.

Ответ 1

Вы можете иметь столько элементов <tbody>, сколько хотите, но не более одного из <thead> и <tfoot>. Ссылка:

Модель контента:

В этом порядке: необязательно элемент заголовка, затем ноль или более элементов colgroup, , за которым следует ада элемент, за которым следуют либо ноль, либо больше элементов тела или один или несколько tr, а затем необязательно элемент tfoot, необязательно смешанный с одним или несколькими элементами поддержки script.

Ответ 2

Там не более одного thead и один tfoot разрешено, поэтому вам не следует создавать дополнительные заголовки. Ведь th в thead дает значение вашим столбцам, например "время суток", "температура", "количество кошек, находящихся в настоящее время в огне".

Если записи в вашем списке связаны друг с другом, все они должны быть в одной таблице, и вы должны указать заголовок для отображения этого отношения.

Если записи фактически не связаны, вы должны предоставить одну таблицу для каждого из них. Вы можете по-прежнему применять один и тот же CSS для каждой таблицы, чтобы получить хороший результат.

Ответ 3

Я считаю, что это как атрибуты id. Они должны быть уникальными, но вы можете повторно использовать их на одной странице, и вы все равно можете их выбрать. Тем не менее, только потому, что это можно сделать, это не значит, что это должно быть сделано.

Я бы рекомендовал против него.