Информацию, представленную на Web-странице, можно грубо разделить на четыре фрагмента: заголовок Web-сайта, полосу навигации, основное содержимое (информация, уникальная для конкретной Web-страницы, та, ради которой именно эта Web-страница и создавалась) и сведения об авторских правах. Как правило, эти фрагменты визуально отделены друг от друга, так что найти их не составляет труда.
На всех Web-страницах, составляющих Web-сайт, заголовок Web-сайта, полоса навигации и сведения об авторских правах одинаковы. И только основное содержимое у каждой Web-страницы уникально (а оно и должно быть уникально по определению).
Но ведь и заголовок Web-сайта, и полоса навигации, и сведения об авторских правах определяются в HTML-коде каждой Web-страницы. И код этот может быть очень объемным. И что выходит? Значительная часть HTML-кода каждой Web- страницы определяет элементы, которые не меняются от одной Web-страницы к другой!
Чем объемнее HTML-код Web-страницы, тем больше файл, в котором она хранится. Чем значительнее размер файла, тем дольше он загружается. Чем дольше файл загружается, тем больше придется посетителю ждать, пока запрошенная Web- страница появится на экране.
Нет ли способа загрузить не всю Web-страницу целиком, а только ее часть — собственно основное содержимое? К сожалению, текстовый Web-дизайн такого способа не предлагает…
Но выход, тем не менее, был найден в виде "нестандартного" расширения HTML — фреймов. Фрейм — это особый элемент Web-страницы, который выводит в указанном ее месте содержимое произвольной Web-страницы, интернет-адрес которой задается в его параметрах. Кроме того, были расширены возможности гиперссылок — теперь они могли выводить целевую Web-страницу в указанном фрейме.
Главная Web-страница Web-сайта в таком варианте представляла собой набор фреймов. Отдельные фрагменты ее содержимого выносились в отдельные Web- страницы, интернет-адреса которых указывались в параметрах соответствующих им фреймов. Остальные Web-страницы включали в себя только основное содержимое. А в параметрах гиперссылок полосы навигации указывалось, в каком фрейме должны загружаться целевые Web-страницы.
Подобный Web-дизайн получил название фреймового. Он имел неоспоримое достоинство — резкое увеличение скорости загрузки Web-страниц. И поэтому широко применялся много лет, а кое-где остался и до сих пор.
Однако у фреймов есть существенные недостатки. Во-первых, фреймы так и не были стандартизированы комитетом W3C, поэтому каждый Web-обозреватель обрабатывает их по-своему, не в целом, конечно, а в нюансах, которые, тем не менее, могут быть существенными. Во-вторых, фреймы — очень негибкий элемент Web- страницы; их структуру невозможно поменять.
Конкурентом фреймового Web-дизайна стал появившийся несколько позже табличный. Для формирования Web-страницы использовалась большая таблица HTML, в разные ячейки которой помещали заголовок Web-сайта, полосу навигации, различные фрагменты основного содержимого и сведения об авторских правах. Постепенно табличный Web-дизайн вытеснил фреймовый; до сих пор это самый популярный способ создания Web-сайтов.
Достоинства табличного Web-дизайна:
— Таблицы — стандартная часть языка HTML, а значит, можно добиться того, чтобы основанные на них Web-страницы отображались одинаково во всех Web- обозревателях.
— Таблицы HTML можно делать сколь угодно сложными, объединяя их ячейки и вкладывая одни таблицы в другие. Это позволяет делать очень сложные Web- страницы, вмещающие разнородные фрагменты содержимого, имеющие не- сколько колонок текста и больше похожие на газеты.
— Таблицы и их отдельные ячейки можно легко форматировать с помощью стилей CSS, задавая для них рамки, отступы, фон, выравнивание и другие параметры. Однако табличный Web-дизайн обладает и множеством недостатков:
— Все та же "монолитность" Web-страниц, что и в случае текстового Web-дизайна. Каждая Web-страница Web-сайта содержит и его заголовок, и полосу навигации, и основное содержимое, и сведения об авторских правах, что не лучшим образом сказывается на ее размерах и на скорости ее загрузки.
— Для формирования сложных таблиц применяется чрезвычайно громоздкий и запутанный HTML-код.
— Старые версии Web-обозревателей не очень удачно реализовывали обработку таблиц: они сначала загружали таблицу целиком, а уже потом выводили ее на экран. Учитывая, что таблицы, с помощью которых формировались Web-страницы, очень большие, загрузка таких Web-страниц отнимала много времени.
НА ЗАМЕТКУ
Современные Web-обозреватели могут выводить таблицу на экран в процессе ее загрузки. Это "умеет" даже Internet Explorer, славящийся своим, мягко говоря, консерватизмом. Так что последняя проблема отпала.
Как видим, все три старых принципа Web-дизайна, наряду с достоинствами, имеют и серьезные недостатки. Поэтому в настоящее время они медленно, но верно отступают под натиском амбициозного новичка, имя которому…
Сущность контейнерного Web-дизайна
Контейнерный Web-дизайн для размещения отдельных фрагментов содержимого Web-страниц использует блочные контейнеры, с которыми мы познакомились в начале этой главы. Отдельные контейнеры создаются для заголовка Web-сайта, полосы навигации, основного содержимого и сведений об авторских правах. Если основное содержимое имеет сложную структуру и состоит из множества независимых частей, для каждой из них создают отдельный контейнер.
Для задания различных параметров блочных контейнеров предусмотрены специальные атрибуты стиля CSS. К таким параметрам относятся размеры (ширина и высота), местоположение контейнеров и их поведение при переполнении. Также мы можем задать для контейнеров цвет фона, создать отступы и рамки, чтобы их выделить (о параметрах отступов и рамок речь пойдет в главе 11).
И что, контейнерный Web-дизайн так уж хорош? Давайте рассмотрим недостатки трех старых принципов Web-дизайна и выясним, сможет ли он их решить.
— Непритязательный вид и линейное представление Web-страниц — у текстового Web-дизайна. Мы можем расположить контейнеры на Web-странице практически как угодно и поместить в них произвольное содержимое: текст, таблицы, изображения, аудио- и видеоролики и даже другие контейнеры. А CSS позволит нам задать для них практически любое представление.
— "Монолитность" Web-страниц — у текстового и табличного Web-дизайна. Современные Web-обозреватели позволяют с помощью специально созданного поведения загрузить в контейнер Web-страницу, сохраненную в отдельном файле, т. е. организовать подгружаемое содержимое. Мы займемся этим в главе 18.
— "Нестандартность" фреймов — у фреймового Web-дизайна. Контейнеры и соответствующие теги официально стандартизированы комитетом W3C и обрабатываются всеми Web-обозревателями одинаково.
— Громоздкость HTML-кода — у табличного Web-дизайна. HTML-код, формирующий контейнеры, исключительно компактен. Как мы уже знаем, блочный контейнер формируется всего одним парным тегом <DIV>.
— Медленная загрузка Web-страниц — у табличного Web-дизайна. Все Web-обозреватели отображают содержимое контейнеров прямо в процессе загрузки, так что Web-страницы визуально загружаются очень быстро.
И что, контейнерный Web-дизайн так хорош? И он совсем не имеет недостатков? Увы, ничего совершенного в мире нет…
Контейнерный Web-дизайн проигрывает табличному в возможности реализации сложного дизайна Web-страниц. Таблица позволяет создать на Web-странице множество колонок разной ширины, содержащих разное содержимое. Чтобы сделать это с помощью контейнеров, скорее всего, придется применять вложенные друг в друга контейнеры, сложные стили и, возможно, поведение, которое уже после окончания загрузки Web-страницы располагает контейнеры в нужных местах. Это, пожалуй, единственный недостаток контейнерного Web-дизайна.
Что ж, с контейнерным Web-дизайном все в основном ясно. Давайте попрактикуемся. Переделаем наши Web-страницы с применением контейнерного Web-дизайна — "легкого", простого, современного.
Представление для нашего Web-сайта, часть 3
Сначала разработаем схему расположения на Web-страницах соответствующих контейнеров. Лучше всего