Другие языки программирования и технологии

Вёрстка. Какая вёрстка лучше табличная или слоями.

Иван Голь
Иван Голь
357
Нужно использовать таблицы только тогда, когда нет другого выбора или требуется поддержка старых браузеров. Например, люди очень любят пихать в таблицы текст одной строкой или картинку, которые надо выровнять по вертикали. Это неверно. Нужно использовать line-height и vertical-align:middle для строчных элементов. Если требуется выровнять блок с чем-либо, ему нужно задать display:inline-block (для ИЕ добавить //display:inline;zoom:1) и опять же vertical-align:middle.

Использование таблиц оправданно в случае большого количества (более 3) колонок с различным фоном, которые одинаковой высоты, так как верстка этого дела плавающими блоками или же инлайн-блоками - это извращение. Но такие дизайны встречаются достаточно редко.
Еще один пример использования таблицы: есть плавающий блок и текст. Нужно, чтобы он не обтекал плавающий блок, а именно отступал от него по всей высоте. Здесь поможет только таблица.

И еще. Навешивание скриптов удобнее делать именно на блочную верстку, а уж проблемы с z-index в ИЕ для ячеек таблиц... В общем, если вы собираетесь профессионально верстать, то забудьте о таблицах намеренно, чтобы научиться без них обходиться.
Константин Петрухин
Константин Петрухин
15 250
Лучший ответ
Верстка ЧЕГО?
Текста, сайта?
Внятно можно?
Турпал Хатаев
Турпал Хатаев
53 826
Обе нужны...
Мне лично больше нравится табличная, но сейчас мода на блочную верстку.
табличная получше по-моему для кеширования в браузере и медленного хостинга.
а нет никакой "табличной", или "блочной" - сами эти понятия давно уже устарели.
есть семантическая верстка (правильная) и не семантическая.
о чем речь - вот очень хорошая статья (пробел перед .net убрать) :
http://pepelsbey .net/2008/04/semantic-coding-1/

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

вы думаете, что <td> - это ячейка таблицы, которая растягивается по контенту, в ней работает вертикальное выравнивание? - нет.
точнее - да, но только пока для нее применен стиль display: table-cell; (по умолчанию так и есть)
а теперь попробуйте у себя в стилях указать td { display: block; }
думаете, что div - это блок? пропишите div { display: inline; } - и он уже выглядит как span

если вы не можете сделать все, что нужно для правильного размещения блоков и их вида без того, чтобы использовать таблицы, или дополнительные ненужные элементы в HTML - значит вы просто не умеете хорошо верстать. поэтому никакой "табличной" верстки нет.. .есть неумелая.

на кеширование таблицы конечно не влияют.
загрузку могут замедлять - при использовании таблиц кода больше получается. и если не указаны размеры табличных элементов - ячеек, колонок, то браузер не может отрендерить таблицу, пока не "узнает" о всем содержимом. поэтому такая таблица отобразится целиком и сразу после загрузки ее контента. - пользователь на медленном соединении, или на плохом хостинге может просто не дождаться.
остальные элементы не зависят друг от друга как ячейки таблицы. поэтому рендерятся сразу.
Jamchid Misirov
Jamchid Misirov
60 969
Спецификации говорят таблицы для табличных данных.
А что делать с section, article, aside? Ведь это не div (не в смысле - блок) , и уж точно не таблица.
Рома Жадько
Рома Жадько
54 070
блочная используется практически везде. я её освоил и поражаюсь насколько всё гармоничней, удобней и легче. стоит осваивать прежде всего именно DIV блочную вёрстку на ней можно сделать всё. А если что то нет, то всегда есть в помощь уже и таблицы.
Я также за табличную. Меньше проблем, главное не запутаться в тегах.
Табличная устарела, слоями конечно же
смотря кто как умеет возпользоваться тегами как по мне так табличная