Если бы вы программировали календарь на HTML, вы бы использовали теги Table или Div? - PullRequest
19 голосов
/ 03 сентября 2008

Я преобразовал календарь своей компании в XSL и изменил все таблицы на div. Это работало довольно хорошо, но у меня было много 8-дневных недельных ошибок, которые нужно было решить изначально из-за нестабильных межбраузерных интервалов. Но я читал еще один пост, касающийся того, когда использовать таблицы v. Divs, и единодушное мнение заключалось в том, что вы должны использовать div только для истинного разделения между частями веб-страницы и использовать таблицы только для табличных данных.

Я не уверен, что мог бы даже использовать таблицы с XSL, но я хотел бы продолжить обсуждение Div и таблиц с обсуждением идеального способа создания веб-календарей и, возможно, объединения этих двух.

Ответы [ 8 ]

31 голосов
/ 03 сентября 2008

Календарь является идеальной причиной для использования таблицы! Календари по своей природе представляют табличные данные, а HTML-таблицы хороши для представления табличных данных. А HTML-разметка таблицы предоставляет почти все CSS-хуки, которые вам нужны, чтобы связать CSS-селекторы с различными частями таблицы, чтобы нарядить их.

Я за использование DIV для разметки, но придерживаюсь таблиц для табличных данных.

Вот классная статья о том, как наряжать столы с помощью CSS: http://www.smashingmagazine.com/2008/08/13/top-10-css-table-designs

7 голосов
/ 03 сентября 2008

Я бы сказал, что календарь - это таблица, поэтому делает таблицу правильной разметкой для ее представления.

Редактировать: Определение 11 для "таблицы" с answers.com говорит:

Упорядоченное расположение данных, особенно такое, в котором данные расположены в столбцах и строках по существу в прямоугольной форме.

3 голосов
/ 03 сентября 2008

Я думаю, что это определенно случай для использования таблиц. Самой большой проблемой при использовании divs будет высота блока для каждого дня. Если вы оформляете каждую рамку рамкой, они могут выглядеть неприлично, если содержимое одного дня длиннее другого. Дополнительная разметка, чтобы он выглядел правильно, была бы больше, чем потребовалось бы, чтобы создать его с таблицей, поэтому я не думаю, что в этом случае div стоит дополнительных усилий.

1 голос
/ 05 января 2009

Просто наткнулся на эту тему после того, как поставил такой же вопрос в другом месте. Хотя я полностью согласен с тем, что календарь - это скорее табличное представление данных, я думаю, что в многочисленных ответах «все зависит» есть доля правды. Например, я хочу показать всплывающее окно DIV, когда каждый день в календаре накрывается. При использовании таблицы всплывающее окно мерцает, когда курсор перемещается по календарю, так как оно активно только на границе ячейки и на номере дня в самой ячейке. При использовании DIV всплывающее окно отображается непрерывно (без мерцания) все время, пока курсор наводится на ячейку календаря.

1 голос
/ 04 сентября 2008

Вы можете также рассмотреть упорядоченный список (недели) упорядоченных списков (дней) или просто один упорядоченный список (дней).

Есть другие , которые согласны, что подход списка является хорошим .

Другие предпочитают таблицы .

1 голос
/ 03 сентября 2008

Сделай это в таблице.

Также не думайте об этом как о «divs против таблиц». Думайте об этом как о таблицах, а не как о семантическом теге со значением. Когда я пишу страницы, я стараюсь использовать div как можно меньше, во многих случаях вы можете использовать абзац, элемент списка и т. Д.

1 голос
/ 03 сентября 2008

Имеет смысл использовать таблицы, но если вы посмотрите на Google Calender, они, похоже, используют теги div. Возможно, использование тегов div уменьшает размер файла, поэтому в корпоративной среде это может стоить «хлопот».

1 голос
/ 03 сентября 2008

Таблицы предназначены для отображения табличных данных. Так что я бы сказал, <table> идеально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...