Поскольку <div>
является контейнером уровня блока, без семантического контекста. Это буквально просто контейнер, «разделительный блок», если хотите.
Проблема с использованием <table>
заключается в том, что его следует использовать для табличных данных. Это как с точки зрения пуриста (т. Е. Это просто неправильно, чтобы использовать его для других вещей), так и с прагматической точки зрения (браузеры, вероятно, предположит, что это своего рода 2D-таблица и попытайтесь сделать ее соответствующим образом). Поэтому, если вы действительно хотите представить какую-то таблицу, это нормально, но рамки предлагают функциональность, которая применима в общем смысле, поэтому они не могут этого принять.
Divs избегают обеих этих проблем, не придавая особого значения их содержимому. Таким образом, браузеры не будут применять какой-либо специальный рендеринг, что делает их идеальной «прозрачной оболочкой» для применения соответствующих стилей CSS/Javascript.
Webapps не идеальны, и часто настольное приложение будет быстрее и мощнее, но webapps обеспечивают очень низкий барьер для входа. Пока у вас уже есть браузер (а кто нет), вам не нужно ничего устанавливать. Кроме того, поскольку вся логика выполняется на центральном сервере, легче контролировать/лог/патч/обновление. В принципе, если вы просто хотите представить информацию и ответить на простые команды, возможно, лучше, чтобы выкачать что-то как webapp с моделью клиент-сервер, чем настольные приложения - просто потому, что это намного проще в обслуживании, равны.
В чем именно ваш ответ? Являются ли они альтернативой для div? Div уже достаточно прост, и табличный тег не используется по уважительным причинам. – Gerbrand 2010-12-16 11:58:10