Нужно использовать таблицы только тогда, когда нет другого выбора или требуется поддержка старых браузеров. Например, люди очень любят пихать в таблицы текст одной строкой или картинку, которые надо выровнять по вертикали. Это неверно. Нужно использовать line-height и vertical-align:middle для строчных элементов. Если требуется выровнять блок с чем-либо, ему нужно задать display:inline-block (для ИЕ добавить //display:inline;zoom:1) и опять же vertical-align:middle.
Использование таблиц оправданно в случае большого количества (более 3) колонок с различным фоном, которые одинаковой высоты, так как верстка этого дела плавающими блоками или же инлайн-блоками - это извращение. Но такие дизайны встречаются достаточно редко.
Еще один пример использования таблицы: есть плавающий блок и текст. Нужно, чтобы он не обтекал плавающий блок, а именно отступал от него по всей высоте. Здесь поможет только таблица.
И еще. Навешивание скриптов удобнее делать именно на блочную верстку, а уж проблемы с z-index в ИЕ для ячеек таблиц... В общем, если вы собираетесь профессионально верстать, то забудьте о таблицах намеренно, чтобы научиться без них обходиться.
Другие языки программирования и технологии
Вёрстка. Какая вёрстка лучше табличная или слоями.
Верстка ЧЕГО?
Текста, сайта?
Внятно можно?
Текста, сайта?
Внятно можно?
Обе нужны...
Мне лично больше нравится табличная, но сейчас мода на блочную верстку.
табличная получше по-моему для кеширования в браузере и медленного хостинга.
а нет никакой "табличной", или "блочной" - сами эти понятия давно уже устарели.
есть семантическая верстка (правильная) и не семантическая.
о чем речь - вот очень хорошая статья (пробел перед .net убрать) :
http://pepelsbey .net/2008/04/semantic-coding-1/
т. е. использование "табличных" тегов для всех элементов, кроме таблиц - это неправильно. так же, как и использование любых "блочных" тегов не по назначению.
HTML - это структура. она никак не выглядит без стилей.
вы думаете, что <td> - это ячейка таблицы, которая растягивается по контенту, в ней работает вертикальное выравнивание? - нет.
точнее - да, но только пока для нее применен стиль display: table-cell; (по умолчанию так и есть)
а теперь попробуйте у себя в стилях указать td { display: block; }
думаете, что div - это блок? пропишите div { display: inline; } - и он уже выглядит как span
если вы не можете сделать все, что нужно для правильного размещения блоков и их вида без того, чтобы использовать таблицы, или дополнительные ненужные элементы в HTML - значит вы просто не умеете хорошо верстать. поэтому никакой "табличной" верстки нет.. .есть неумелая.
на кеширование таблицы конечно не влияют.
загрузку могут замедлять - при использовании таблиц кода больше получается. и если не указаны размеры табличных элементов - ячеек, колонок, то браузер не может отрендерить таблицу, пока не "узнает" о всем содержимом. поэтому такая таблица отобразится целиком и сразу после загрузки ее контента. - пользователь на медленном соединении, или на плохом хостинге может просто не дождаться.
остальные элементы не зависят друг от друга как ячейки таблицы. поэтому рендерятся сразу.
есть семантическая верстка (правильная) и не семантическая.
о чем речь - вот очень хорошая статья (пробел перед .net убрать) :
http://pepelsbey .net/2008/04/semantic-coding-1/
т. е. использование "табличных" тегов для всех элементов, кроме таблиц - это неправильно. так же, как и использование любых "блочных" тегов не по назначению.
HTML - это структура. она никак не выглядит без стилей.
вы думаете, что <td> - это ячейка таблицы, которая растягивается по контенту, в ней работает вертикальное выравнивание? - нет.
точнее - да, но только пока для нее применен стиль display: table-cell; (по умолчанию так и есть)
а теперь попробуйте у себя в стилях указать td { display: block; }
думаете, что div - это блок? пропишите div { display: inline; } - и он уже выглядит как span
если вы не можете сделать все, что нужно для правильного размещения блоков и их вида без того, чтобы использовать таблицы, или дополнительные ненужные элементы в HTML - значит вы просто не умеете хорошо верстать. поэтому никакой "табличной" верстки нет.. .есть неумелая.
на кеширование таблицы конечно не влияют.
загрузку могут замедлять - при использовании таблиц кода больше получается. и если не указаны размеры табличных элементов - ячеек, колонок, то браузер не может отрендерить таблицу, пока не "узнает" о всем содержимом. поэтому такая таблица отобразится целиком и сразу после загрузки ее контента. - пользователь на медленном соединении, или на плохом хостинге может просто не дождаться.
остальные элементы не зависят друг от друга как ячейки таблицы. поэтому рендерятся сразу.
Спецификации говорят таблицы для табличных данных.
А что делать с section, article, aside? Ведь это не div (не в смысле - блок) , и уж точно не таблица.
А что делать с section, article, aside? Ведь это не div (не в смысле - блок) , и уж точно не таблица.
блочная используется практически везде. я её освоил и поражаюсь насколько всё гармоничней, удобней и легче. стоит осваивать прежде всего именно DIV блочную вёрстку на ней можно сделать всё. А если что то нет, то всегда есть в помощь уже и таблицы.
Я также за табличную. Меньше проблем, главное не запутаться в тегах.
Табличная устарела, слоями конечно же
смотря кто как умеет возпользоваться тегами как по мне так табличная
Похожие вопросы
- Чем блочная верстка лучше табличной ?
- Вопрос по табличной вёрстке
- табличная и блочная верстка. в чем плюсы и минусы? )
- Что лучше табличная или блочная вёрстка...
- Чем отличается резиновая табличная верстка от жесткой ?
- Правда, что сей час табличную вёрстку ни где и не встретишь и на ней уже ни кто не работает и работу ни кто такую
- Вопрос по верстке (HTML / CSS)
- верстка и дизайн
- Вопрос по верстке (попытка 2 сделал более красиво). Скажите пожалуйста как правильней?
- Скажите пожалуйста, в типографической верстке, как определяют сложность?