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






Я бы сказал, что календарь - это таблица, поэтому таблица является правильной разметкой для ее представления.
Обновлено: Определение 11 для "стола" с сайта answers.com говорит:
An orderly arrangement of data, especially one in which the data are arranged in columns and rows in an essentially rectangular form.
Календарь - прекрасная причина использовать стол! Календари по своей сути представляют табличные данные, а таблицы HTML хороши для представления табличных данных. А разметка таблицы HTML предоставляет почти все CSS-хуки, необходимые для связывания селекторов CSS с различными частями таблицы, чтобы приукрасить ее.
Я за то, чтобы использовать DIV для макета, но придерживаюсь таблиц для табличных данных.
Вот классная статья о том, как украсить таблицы с помощью CSS: http://www.smashingmagazine.com/2008/08/13/top-10-css-table-designs
Таблицы предназначены для отображения табличных данных. Так что я бы сказал, что <table> идеален.
Я думаю, что это определенно случай использования таблиц. Самая большая проблема при использовании div - это высота окна для каждого дня. Если вы оформляете каждую коробку рамкой, они могут не привлекать внимания, если содержание одного дня длиннее, чем другого. Дополнительной разметки, чтобы он выглядел правильно, было бы больше, чем для его создания с помощью таблицы, поэтому я не думаю, что в этом случае div стоит дополнительных усилий.
Имеет смысл использовать таблицы, но если вы посмотрите на Google Calender, похоже, что они используют теги div. Возможно, использование тегов div уменьшает размер файла, поэтому в корпоративной среде это может стоить «неприятностей».
Сделайте это в таблице.
Также не думайте об этом как о «div против таблиц». Думайте об этом как о таблицах против правильного семантического тега со значением. Когда я пишу страницы, я стараюсь как можно меньше использовать div, во многих случаях вы можете использовать абзац, элемент списка и т. д.
Вы также можете рассмотреть упорядоченный список (недели) упорядоченных списков (дни) или просто один упорядоченный список (дни).
Есть другие, которые согласны с тем, что списковый подход - это хороший.
что касается «подхода со списком», тот парень сказал никогда не использовать этот код ... На самом деле я сделал нечто подобное для нашего офисного календаря, и это никому не понравилось, поэтому я оставил его как календарь на год и сделал календарь на месяц, используя таблицы.
Просто наткнулся на эту ветку после того, как задал тот же вопрос в другом месте. Хотя я полностью согласен с тем, что календарь - это скорее табличное представление данных, я думаю, что в многочисленных ответах «в зависимости от обстоятельств» есть доля правды. Например, я хочу показывать всплывающее всплывающее окно DIV, когда на каждый день в календаре наведен курсор. При использовании таблицы всплывающее окно мерцает при перемещении курсора по календарю, поскольку всплывающее окно активно только на границе ячейки и номере дня в самой ячейке. При использовании DIV всплывающее окно непрерывно (без мерцания) все время, пока курсор наводится на ячейку календаря.
На самом деле мне нравится использовать общие div; Я использую атрибут
class, чтобы сказать, что это за штука.