Множество <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
. Они должны быть уникальными, но вы можете повторно использовать их на одной странице, и вы все равно можете их выбрать. Тем не менее, только потому, что это можно сделать, это не значит, что это должно быть сделано.
Я бы рекомендовал против него.