Я понимаю, что цель перехода к тегам <div>
из <table>
имеет смысл, поскольку она более семантическая.
На самом деле, все наоборот: переход от <table>
к <div>
делает ваш HTML менее семантическим. Фактически, вся точка элементов <div>
(и <span>
) должна иметь семантику no !
Меня всегда раздражает, когда я вижу лес из <div>
, описанный как "семантический HTML". Нет, это не так! Это * не * семантический HTML! Особенно, если в нем много <div class='float-left'>
, <div id='bottom'>
и моих личных избранных <div class='paragraph'>
и <span class='emphasis'>
.
Не поймите меня неправильно, использование несемантических <div>
с определенно лучше, чем использование неправильных -семантических <table>
с, но еще лучше было бы использовать семантически правильные элементов - хотя во многих случаях проблема в том, что HTML не предлагает никаких. Например, в своем фрагменте вы используете элемент <address>
, но согласно спецификации этот элемент не предназначен для разметки адресов! только для разметки адреса автора страницы - IOW это совершенно бесполезно.
В примере, который вы опубликовали, отсутствует много контекста, поэтому трудно сказать, но на самом деле выглядит так, как будто вы хотите отобразить либо табличные, либо иерархические данные, в этом случае <table>
с или <ul>
с может быть лучшим выбором.
Абсолютно не имеет отношения к вашему вопросу: вы можете взглянуть на микроформаты hCard и XOXO .