То, что таблицы делают лучше CSS
Некоторые вещи в разметке нельзя проделать в CSS так же просто, как с использованием таблиц.
Для примера - черную полосу навигации шириной во всю страницу, какая бы она не была. С табличной разметкой это пара пустяков: приписать нужной ячейке <td>
чёрный цвет фона.
Давайте подумаем как это возможно сделать с помощью CSS...
Во-первых можно дать div
, содержащему навигационную панель чёрный цвет фона. Проблема в том, что при этом цвет будет установлен только на высоту содержимого панели. На большинстве страниц, где содержимое длинее навигации этот способ не будет работать.
Во-вторых, мы можем попробовать выложить чёрным рисунком (в GIF формате) div
, содержащий содержимое и добавить ему достаточно пустого пространства слева (padding-left:Npx
) для наложения на него полосы навигации. Этот приём не будет работать когда навигация длиннее содержимого...
Особый путь для решения такой проблемы - установка необходимого фона с чёрной полосой для тега <body>
, который будет виден на всей высоте страницы если вы только не будете перекрывать фон другими рисунками или цветом.
Мы также можем использовать "рабочий" div
и застилать его фоном, не затрагивая тег <body>
, но это будет являться отступлением от семантической разметки добавляя ненужный элемент кода.
И разумеется, любые решения с подложенным фоновым рисунком не станут работать если вам необходима навигация с переменным размером.
В общем, как мы уже сказали, есть такие задачи, в которых табличное решение имеет свои преимущества, но на наш взгляд каждый должен решать - стоят ли визуальные ухищрения того чтоб вводить таблицы для вёрстки?