Таблицы в HTML
277
объем CSS-кода, ибо вся ответственность за какое бы то ни было
представление данных ложится на плечи каскадных листов стилей. Но файл листа
стилей, будучи внешним и общим для нескольких страниц, как мы помним,
кэшируется браузером, что не требует его повторной загрузки с каждым
вновь открываемым HTML-документом.
Ко всему прочему, если, как мы говорили выше, в ряде случаев некоторые
браузеры переходят к рендерингу таблиц только после полной загрузки
последних, то содержимое блочных элементов всегда отображается сразу же,
без задержки.
Больший удельный вес контента по отношению к разметке, его логическая
стройность весьма положительно сказываются на вычисляемой поисковыми
машинами релевантности запросов, соответствующих фразам,
фигурирующим в содержании страницы, и, как следствие, на ранжирование результатов
поиска по данным запросам. Иными словами, страницу, сверстанную при
помощи блочной модели CSS и не использующую визуальных тегов и
атрибутов HTML, засоряющих структурную разметку, при прочих равных условиях
гораздо проще найти при помощи «Яндекса» или Google, нежели страницу,
сверстанную таблицами и не гнушающуюся не рекомендованных
Консорциумом W3C элементов.
Табличная верстка не способна предоставить такой гибкости, какую может
обеспечить блочная верстка, когда речь заходит о создании автоматически
генерируемых и прозрачных для пользователей версий представления
контента для различных классов устройств с использованием аппаратно-
зависимых стилей. Да, мы можем скрыть те или иные ячейки таблицы, но
реализовать радикально отличные друг от друга варианты взаимного
расположения ячеек у нас не получится ни при каком раскладе.
Чтобы добавить к шаблону страницы или, напротив, исключить из его
состава какую бы то ни было функциональную область, в случае табличного
макета почти всегда приходится практически переверстывать все заново. Если же
верстка страниц сайта использует блочную модель CSS — достаточно лишь
поместить в файл стилей описание нового блока (или удалить описание
старого), поменять несколько цифр, определяющих размеры смежных областей,
после чего просто добавить данные, обрамленные тегами
с соответствующим параметром class или id в HTML-код.
…Тем не менее, несмотря на все сказанное, свыше 90% разработчиков по-
прежнему продолжают верстать сайты таблицами; а сколько-либо известные
широкой аудитории проекты, использующие блочную верстку, в Рунете
можно пересчитать по пальцам одной руки. Почему?
Года три-четыре тому назад консерватизм разработчиков можно было
объяснить низким качеством поддержки актуальных рекомендаций W3C распро-
278 Часть II. Применение веб-технологий стороны клиента для создания сайтов
страненными на тот момент браузерами. Сетовать на этот фактор сегодня —
значит, кривить душой: 99% используемых ныне браузеров поддерживает
CSS2 на приемлемом для практического применения этой технологии уровне.
Что касается оставшегося 1% пользователей, то содержание всех сайтов,
построенных на базе CSS, для этого контингента в полной мере доступно,
пускай без лишнего оформления. Во второй половине 1990-х, на пике «гонки
вооружений» между Netscape и IE, о подобной идиллии можно было только
мечтать — сайты, оптимизированные для просмотра в Internet Explorer, порой
отображались в Netscape Navigator так, что ничего толком и не прочтешь;
и наоборот.
Несовершенство браузеров, стало быть, отнюдь не главный повод,
обуславливающий скепсис по отношению к CSS-верстке.
Основная причина консерватизма кроется, на мой взгляд, в силе привычки.
Как мы уже неоднократно отмечали в ходе главы 4, блочная модель CSS и
таблицы обладают рядом весьма существенных, органических взаимных
противоречий.
Использование блочной модели CSS2 позволяет сделать многое, чего нельзя
добиться при помощи таблиц. Но верно и обратное — без применения таблиц
иной раз практически невозможно реализовать то, что с их помощью
разрешается буквально в два счета.
5th Фев 2011
|
Теги:
|