Фреймы – это области, которые создаются в окне браузера для одновременной демонстрации нескольких документов.
Пример:
При создании страниц с фреймами разрабатывается несколькоWeb-страниц. При этом HTML-файлы отличаются по типам:
документы раскладки (loyout) используются для создания структуры окна, то есть для описания того, как оно должно быть разделено;
документы содержания (content) предназначены для заполнения информацией каждой из областей.
Документ раскладки
Чтобы создать страницу с фреймами, необходимо подготовить сначала документ раскладки, содержащий информацию о количестве фреймов, их размере и внешнем виде. Этот файл (например, с именем index.htm) должен содержаться после контейнера <HEAD>…</HEAD> вместо «тела» документа (содержимого контейнера <BODY>…</BODY>. Экран с фреймами описывается в НТМL-странице, в контейнере FRAMESET.
Содержимое же фрейма — это отдельная HTML-страница, которая может находиться где угодно: в другом каталоге, на локальном сервере или на удаленном узле где-то в сети. Фреймовая структура определяет только способ организации экрана с фреймами и указывает, где находится начальное содержимое каждого фрейма. Для всех фреймов задаются URL, описывающие местонахождение их данных. Как правило, на странице с фреймовой структурой содержимого фреймов нет. Такая страница обычно невелика — она описывает только кадровую структуру экрана. Когда документ загружается во фрейм, вы можете щелкать мышкой на ссылке в этом документе, чтобы увидеть связанные документы в других кадрах, заданных во фреймовой структуре.
Для начала мы должны представить себе общий вид страницы – где расположить фреймы и какого они будут размера. Затем можно подумать об их содержании. Ниже приводится код простой фреймовой структуры с использованием тега <FRAMESET>. Обратите внимание: страница с фреймовой структурой не содержит тега <ВОDY>.
Первым этапом создания страниц с фреймами является продумывание деления страницы на области.
Атрибуты для деления экрана на области:
rows
-
горизонтальное деление экрана
cols
-
вертикальное деление экрана
*
-
обозначение оставшейся части экрана
Примеры:
cols=25%, 75% - левая вертикальная область в три раза уже правой.
rows=150, 30%, * - для верхней горизонтальной области отведено 150 пикселей, для средней – 30 процентов доступного пространства, а для нижней – все, что останется.
Тег <FRAMESET> может содержать так же дополнительные атрибуты.
Атрибут frameborder
Атрибут указывает наличие или отсутствие границы между фреймами и равен 1 или 0 соответственно[*].
Атрибут framespacing
Атрибут определяет толщину границы в пикселях (если frameborder=0, значение framespacing игнорируется, а граница не выводится вовсе, если же framespacing=0, а frameborder=1, то выводится типичная отлиновка, аналогичная по виду границе окна Windows).
Атрибут bordercolor
Атрибут указывает цвет границы между фреймами. Цветная граница воспроизводится только при frameborder=1 и ненулевом значении framespacing.
Использование тега <NOFRAMES>
У некоторых пользователей еще остались браузеры, не умеющие обращаться с фреймами. По этой причине разумно предоставить доступ к версии ваших основных страниц без фреймов. Если читатель с устаревшим браузером окажется на вашей странице с фреймовой структурой, все, что находится на ней между тегами <NOFRAMES> и </NOFRAMES>, будет выглядеть отлично — браузер просто проигнорирует фреймы. Вот почему обязательно нужно использовать теги <ВODY></ВОDY >. Возможно, экран без фреймов придется организовать иначе.
Пример страницы с фреймовой структурой с добавленным в конце разделом <NOFRAMES>.
<HTML> <HEAD> <TITLE>Пример фреймов</TITLE> </HEAD> <FRAMESET cols="35%, 65%"> <FRAME src="menu.html"> <FRAME src="main.html" name="main"> <NOFRAMES> Вы просматриваете эту страницу с помощью браузера, не поддерживающего фреймы. </NOFRAMES> </FRAMESET> </HTML>
Имейте в виду, что поддерживающий фреймы браузер проигнорирует все, что находится между тегами <NOFRAMES> и </NOFRAMES>. И наоборот, не поддерживающий фреймы браузер проигнорирует все, что находится между тегами <FRAMESET> и </FRAMESET>. Код без фреймов можно поместить и в начало, и в конец страницы.