Статьи

Преимущества и недостатки табличной верстки

Табличная вёрстка нынче совсем не в почёте. Буквально на каждом углу кричат, что надо переходить к вёрстке с помощью слоев, потому что это соответствует стандартам, правильнее и вообще "прикольно". Почему слои лучше таблиц обычно не сообщают, так что приходится либо верить на слово, либо решать дилемму самостоятельно. Поэтому попытаемся объективно решить, что же представляют собой таблицы, где их следует применять, а где не стоит.

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

Преимущества таблиц

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

 

Создание колонок

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

Таблицы же хорошо выступают в качестве многоколонной модульной сетки, каждая ячейка представляет собой отдельную колонку. Это позволяет легко создавать двух- и трехколонный макет документа. При изменении размера окна браузера, колонки сохраняют свой исходный вид, а не переносятся как слои друг под друга. К тому же высота разных колонок при использовании таблиц остаётся одинаковой, независимо от объёма их содержимого.

 

"Резиновый" макет

Таблицы удачно подходят для "резинового" макета, ширина которого привязана к ширине окна браузера. Благодаря тому, что размер таблицы можно задавать в процентах, она занимает все отведённое ей свободное пространство. Также можно регулировать и высоту содержимого. Например, если текста немного, то "подвал" страницы может висеть в её середине. Параметрами таблицы можно отрегулировать это так, что при небольшом тексте "подвал" плотно прилегает к нижнему краю окна браузера, независимо от размеров окна.

 

"Склейка" изображений

Рисунки часто разрезают на отдельные фрагменты, а затем собирают их вновь в одно целое, выкидывая одни фрагменты или заменяя их другими изображениями. Это требуется для различных дизайнерских изысков вроде создания эффекта перекатывания, анимации или уменьшения объёма файлов. Таблицы позволяют легко обеспечить "склейку" нескольких рисунков в одно изображение. Каждая картинка помещается в определённую ячейку, параметры таблицы при этом устанавливаются такими, чтобы не возникло стыков между отдельными ячейками.

 

Фоновые рисунки

В ячейки таблицы разрешается добавлять фоновый рисунок, в зависимости от размеров ячейки он может повторяться по горизонтали, вертикали или сразу в двух направлениях. За счёт этого приёма на странице создаются декоративные линии, рамки самого разнообразного вида, добавляется тень под элементом.

 

Выравнивание элементов

Содержимое ячеек можно одновременно выравнивать по горизонтали и по вертикали, за счёт чего расширяются возможности по размещению элементов относительно друг друга и на странице в целом.

 

Особенности браузеров

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

 

Недостатки таблиц

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

 

Долгая загрузка

Особенность таблиц такова, что пока последнее слово в самом низу таблицы не загрузится, на экране содержимое ячеек отображаться не будет. Браузеры используют такой подход, чтобы получить всю информацию о таблице для правильного форматирования ее содержимого. Но если таблица велика по высоте, может пройти достаточно много времени, прежде чем мы увидим нужную информацию. Существуют и способы обхода этого свойства, в частности, разбиение одной большой таблицы на несколько таблиц поменьше, а также использование стилевого свойства tablelayout.

 

Громоздкий код

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

 

Плохая индексация поисковиками

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

 

Нет разделения содержимого и оформления

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

Несоответствие стандартам

В последнее время стандарты HTML и CSS прочно засели в умах веб-разработчиков. Этому способствует развитие XHTML и XML, которые более "жёстко" относятся к коду документа, появление новых версий браузеров, придерживающихся спецификации, и мода на вёрстку слоями. Что же говорит спецификация относительно таблиц? А говорит она, что таблицы в первую и последнюю очередь нужны для размещения табличных данных. Все остальные способы использования таблиц осуждаются.

 

Применение таблиц для вёрстки

Разумеется, и плюсы и минусы таблиц не равнозначны между собой. То, что для одного сайта может быть простительно, для другого является грубейшей ошибкой. Поэтому опишем, в каком случае таблицы использовать для вёрстки логичнее, чем другие средства, в частности, слои. Итак, таблицы хорошо подходят в некоторых обстоятельствах, которые описаны далее.

Высота колонок должна быть одинаковой

Таблицы помогают установить колонки одинаковой высоты при разном объёме содержимого колонок. Разумеется, подобный эффект можно наблюдать только в том случае, если для колонок применяется фоновая заливка или добавляется рамка.

Макет должен занимать всю высоту окна браузера, независимо от объёма информации

С помощью таблицы можно добиться эффекта, что нижняя часть страницы ("подвал") выравнивается по нижнему краю окна браузера. Это имеет смысл в том случае, если объёма данных не хватает для увеличения высоты документа. В противном случае часть страницы будет "висеть" в середине окна. Естественно, для документа достаточного объёма его отображение происходит как обычно.

Нет времени на сложную вёрстку

Стоит признать, что табличная вёрстка если не легче, то гораздо привычнее, чем вёрстка с помощью слоев. Таблицы используют уже несколько лет и естественно, что приёмы вёрстки с их помощью стали каноническими. Поэтому, в условиях лимита времени на создание сайта применение таблиц более чем оправданно. Кстати, многие дизайн-студии, занимающиеся разработкой сайтов, именно по этой причине отдают предпочтение табличной вёрстке. Результат получается планируемым и ожидаемым, а ошибок с отображением сайта в разных браузерах практически не возникает. Если подходить критично к способам использования таблиц, то действительной причиной их популярности является консерватизм разработчиков, привычность и быстрота вёрстки сайтов с их помощью. Ясно одно — таблицы постепенно сдают свои позиции в пользу вёрстки слоями. Но пройдёт еще несколько лет, прежде чем "табличные" сайты станут раритетом и исчезнут с простора Рунета.

  • Hits: 4130