Книга: Веб-дизайн
РАСПРЕДЕЛЕНИЕ МАТЕРИАЛА
РАСПРЕДЕЛЕНИЕ МАТЕРИАЛА
Чем же следует руководствоваться, разделяя содержимое будущего сайта на отдельные страницы? На первый взгляд ответ очевиден: деление должно быть прежде всего логичным, так чтобы каждая страница была посвящена одной теме и чтобы всякая тема занимала одну и только одну отведенную под нее страницу. Кроме того, нужно учитывать ограничение объема файлов, о котором я уже упоминал (стр. 177): оставляя разумный минимум на графику, HTML-текст каждой страницы должен весить не больше 20–30 Кб. С другой стороны, каждый щелчок мышью по ссылке требует от пользователя определенной затраты сил, поэтому слишком много слишком маленьких страниц — тоже не лучший выход (известно даже «правило двух щелчков», гласящее, что первую страницу сайта от любой другой должно отделять не более двух щелчков мыши).
Эти простые правила, однако, имеют множество исключений. Если информационные единицы, из которых состоит сайт, слишком мелки, можно объединять на одной странице несколько таких единиц — но только в том случае, если они сравнимы по объему и важности и расположены на одном уровне иерархии. Нередко, особенно на сайтах академического толка, можно встретить гигантские страницы в сотни килобайт, собравшие всю информацию по какой–нибудь большой теме и образующие иерархию не подчиненных страниц, а подразделов в пределах одного HTML-файла. Это допустимо только в академическом стиле, имеющем достаточно уровней вложенности заголовков (теги Н 1—Н 6) и не обремененном графикой и таблицами (т. е. тем, что способно сильно замедлить загрузку и показ и без того; объемистой страницы).
Справедливости ради отмечу, что даже при исключительном использовании HTML 2.0 авторы больших файлов ставят некоторых из своих читателей — а именно тех, кто переходит на какой–то из разделов в самом конце такого файла по ссылке с # (стр. 30), — перед необходимостью довольно долго ждать у пустого экрана.
Упомяну здесь еще одну интересную черту академических сайтов. Подобно статьям в научных журналах, ссылающимся на другие статьи через список литературы в конце, некоторые сайты позволяют переходить к другим ресурсам только в два приема: ссылка в основном тексте ведет не прямо к пункту назначения, а в специальный раздел (или на отдельную страницу) со списком всех внешних ссылок сайта. Это позволяет не загромождать текст лишней информацией и унифицировать оформление ссылок (например, ставить цифры или звездочки вместо названий внешних сайтов); в списке же можно, наоборот, поместить сколь угодно подробные описания, аннотации и комментарии для каждой ссылки.
Напротив, коммерческие и контент–сайты демонстрируют тенденцию к уменьшению размера среднего HTML-файла. Кроме необходимости высвободить место для более объемистой на таких сайтах графики, авторами движет стремление сделать текст как можно более легкоусвояемым, «разжевать и в рот положить», чтобы вечно спешащие и непривыкшие к длительным размышлениям деловые посетители могли приятно разнообразить работу мысли работой мыши. Есть и еще одно обстоятельство: владельцам контент–сайтов, живущим за счет рекламы, выгодно нарезать свою информацию на как можно более мелкие кусочки, чтобы иметь право повесить сверху и снизу каждого такого кусочка по рекламному баннеру (размещение баннеров посередине страницы, как и прерывание рекламными вставками фильмов по телевидению, многими справедливо считается слишком раздражающим и потому неэффективным приемом).
Вообще говоря, степень членения содержимого должна зависеть от частоты его обновления. Чем непостояннее структура вашего сайта, чем чаще добавляются и убираются разделы и подразделы, тем меньше должен быть объем одной страницы. Представьте, что на какой–то из первоначально цельных по содержанию страниц появился маленький пункт или подраздел. Если вы поленитесь сразу вынести его в отдельный файл, рано или поздно вам, вполне вероятно, все–таки придется это сделать (например, когда таких разделов накопится уже несколько). Тем самым вы доставите определенное неудобство тем, кто видел этот материал по прежнему адресу и, вполне возможно, занес тог адрес в закладку или ссылку.
Понятно, что изменение адреса какого–то фрагмента или, еще того хуже, снятие его с сайта вообще, обрубающее концы всех ссылок, ведущих на старый адрес как с чужих сайтов, так и внутри вашего же собственного, — грех куда более тяжкий, чем слишком короткие или слишком длинные страницы. Если же без изменения адреса обойтись никак нельзя, не забудьте оставить на старом месте записку со ссылкой на новый адрес, лучше всего с автоматическим перенаправлением (стр. 40).
Фреймы и окна. Нелинейность информационного пространства сайта иногда находит свое видимое выражение в использовании фреймов — перегородок внутри окна броузера, позволяющих в образующихся «форточках» показывать несколько HTML-файлов одновременно. По сути, мы имеем здесь дело с разновидностью древовидной структуры, в которой корневой документ (англ. frameset document) сам по себе не виден — он лишь разделяет окно на фреймы, задает их размеры (в пикселах или в процентах от размеров окна) и указывает URL-адреса документов для первоначальной загрузки в каждый из фреймов.
Зачем может понадобиться выводить на экран несколько документов одновременно? Простейший и самый распространенный случай — два фрейма, один из которых содержит неизменную и неподвижную панель навигационных ссылок, а второй предназначен для документов с основным содержимым сайта; щелчок по ссылке в навигационном фрейме приводит к загрузке нового документа в основной фрейм. Навигационных фреймов может быть два и более, с панелями, относящимися к разным уровням навигационной иерархии. Иногда, когда фреймы уже использованы для навигации (которая, собственно говоря, только и способна оправдать введение фреймов), автор может добавить еще один фрейм для закрепления в фиксированном месте экрана рекламного баннера, логотипа или адреса собственной фирмы.
Сайты с фреймами имеют три основных преимущества. Во–первых, фреймы дают некоторую экономию в объеме пересылаемых пользователю файлов, так как при переходе по ссылке заменяется содержимое только одного фрейма (впрочем, почти того же эффекта можно добиться и без всяких фреймов, просто подключая на всех страницах одни и те же графические файлы). Во–вторых, при этом появляется возможность проматывать материал только одного фрейма, имея перед глазами неподвижное содержимое остальных фреймов. И в-третьих, в сложных по визуальной структуре композициях фреймы дают дизайнеру возможность с гарантией контролировать величину полей и жестко привязывать материал не только к левому и верхнему краю окна, но и к правому и нижнему (стр. 194). На этом достоинства фреймов заканчиваются — и начинаются их недостатки.
Введение фреймов резко ограничивает переносимость HTML-документа и делает его недоступным для многих поисковых роботов (стр. 38). Страницы с фреймами выглядят громоздко, их интерфейс не всегда интуитивно понятен — многих подсознательно раздражает то, что щелчок мышью в одной точке экрана вызывает изменения совсем в другом месте. Фреймы приводят к неоднозначности в адресации, так как при переходах по ссылкам и загрузке новых документов в отдельные фреймы адрес текущего корневого документа, отображаемый в строке URL броузера, не меняется; из–за этого, встречаясь с фреймами, многие подсистемы броузера (к примеру, меню со списком посещенных адресов) вынуждены действовать не слишком логично. Наконец, из некоторых сайтов с фреймами бывает не так–то просто выбраться на свежий воздух — после перехода по ссылке, ведущей за пределы сайта, страница чужого сайта загружается иногда не на чистый лист пустого экрана, а в тот же фрейм, в котором стояла ссылка.
Еще один, более простой (и исторически появившийся первым) способ вывода на экран компьютера нескольких документов одновременно — создание новых окон броузера. Атрибут target тега А позволяет открывать для документа, к которому ведет эта ссылка, новое окно или же загружать этот документ в любое из уже открытых окон. По умолчанию вновь созданные окна имеют все атрибуты броузера (строку адреса, кнопки, меню) и ни по внешнему виду, ни по поведению не отличаются от окна — «родителя». С помощью JavaScript можно управлять размерами нового окна и даже создавать «голые» окна без каких–либо элементов интерфейса броузера (пример 4). Иногда окна фиксированного размера открываются не для самостоятельных страниц, а для небольших «довесков» информации, которые автор хочет сунуть посетителю прямо под нос, — таких как рекламный баннер, подробный адрес фирмы или увеличенная копия изображения, чей «ноготок» (стр. 258) виден на странице.
Есть подводный камень, который надо обязательно учитывать при размножении броузерных окон: если исходное окно было распахнуто на весь экран (обычная ситуация для многих пользователей с низким разрешением дисплея), то новое окно также создается максимизированным, полностью заслоняя предыдущее. Пользователь может запросто не заметить подмены и будет долго пытаться понять, почему он не может вернуться по последней ссылке кнопкой Back — список пройденных в данном сеансе адресов новосозданные окна не наследуют.
- Распределение сил
- Распределение торговой площади по категориям
- Распределение функциональных обязанностей между должностями
- Динамическое распределение памяти
- Распределение графики по слоям
- 6.2. Работоспособность человека и биоритмы. Влияние суточных ритмов на распределение рабочей нагрузки
- 7. Распределение ресурсов, управление электропитанием и мониторинг состояния системы
- Глава 5 Распределение IP-адресов с помощью DHCP
- Динамическое распределение IP-адресов
- Распределение программ по главам
- 14.4. Динамическое распределение пользователей
- РАСПРЕДЕЛЕНИЕ ПАМЯТИ: malloc( ) И са11ос( )