Английское слово frame («фрейм») означает рамку, остов, оправу, кадр, словом, структурную единицу различных объектов.
В информатике фрейм — элемент языка HTML версии 3.0 и выше. Фреймы позволяют разделить web-страницу на несколько независимых окон и в каждом из них размещать отдельную web-страницу. При этом допускаются ссылки из одного окна в другое окно. Обычно фреймы применяются для организации меню, постоянно находящихся на экране, тем самым связывая отдельные страницы в web-сайт.
Любой сайт, содержащий страницы с фреймами, начинается с написания специальной странички-контейнера, которая сама не показывается, но содержит в себе указания для организации фреймовой структуры (на сколько фреймов делить страницу и как) и ссылок на участвующие файлы.
Принципиальная особенность этой странички-контейнера — она не содержит тегов <body>…</body>. Их заменяют теги <frameset>…</frameset>.
Рассмотрим пример.
Наберем в текстовом редакторе Notepad html-код и сохраним его с именем index.html:
Контейнерный тег <frameset>…</frameset>описывает количество и размеры фреймов.
Атрибут rows задает горизонтальное разбиение страницы. Его параметры — это цифры и знаки, разделенные запятыми. Каждое значение определяет ширину области и может задаваться в процентах, пикселях и при помощи знака звездочки, обозначающей «все оставшееся пространство». Аналогично, параметр cols задает вертикальное разбиение страницы.
Таким образом, в примере вся область сначала разделена тегом <frameset rows="10%,*"> на два фрейма по горизонтали (верхняя часть составляет 10% высоты области), а затем нижний фрейм разделен, в свою очередь, тегом <frameset cols="15%,*"> по вертикали также на две фрейма, причем левая часть составляет 15% ширины области. Таким образом, создана трехфреймовая структура страницы.
Кроме указанных атрибутов в теге <frameset> используются атрибуты frameborder=yes (no) — указывает браузеру, отображать ли рамку у фреймов или нет; border=n — определяет ширину n рамки между фреймами в пикселях; bordercolor="#RRGGBB" — задает цвет рамки, которая разделяет отдельные фреймы.
Контейнерный тег <frame>…</frame> определяет источник информации для соответствующего фрейма.
Атрибут src задает URL страницы, которая будет помещена во фрейм. Обычно эти страницы и страница-контейнер находятся все вместе в одной папке, поэтому адрес состоит только из имени файла и его расширения.
В примере верхнему фрейму назначен файл up.html, нижнему левому фрейму — left.html, нижнему правому фрейму — right.html. Именно их содержимое появится на экране при запуске файла index.html.
Атрибут name позволяет задать каждому фрейму уникальное имя, по которому к нему можно будет обращаться. Ниже это будет использовано при создании гипертекстового меню.
Параметры атрибута scrolling позволяют управлять появлением полосы прокрутки: no — полосы прокрутки не будет ни при каких обстоятельствах; yes — полоса прокрутки будет всегда; auto — полоса прокрутки появится только тогда, когда она нужна (значение по умолчанию).
Атрибут noresize позволяет создавать фреймы без возможности изменения размеров. По умолчанию размер фрейма можно изменить при помощи мыши так же просто, как и размер окна Windows. Данную возможность noresize отменяет. Если у одного фрейма установлен атрибут noresize, то у соседних фреймов тоже не может быть изменен размер со стороны данного.
Итак, теперь если открыть файл index.html, то появится трехфреймовая страница примерно такого вида (рис. 1).
Такой вид можно наблюдать, если нет файлов с именами up.html, left.html, right.html или ошибка в их именах. Введя в код страницы-контейнера имена html-файлов, созданных в процессе работы над заданием, вы получите их на экране монитора в соответствующем фрейме.