Фреймы
Что это такое?
Иногда Web-страницу делят на несколько частей (чаще всего — на две, реже — на три,
совсем редко — на большее количество). Одна такая часть называется фреймом
(от английского frame — рамка).
В каждом фрейме отображается отдельная Web-страница.
Структура фреймов описывается в специальном файле.
Таким образом, для создания страницы с двумя фреймами надо по
крайней мере три файла: в одном описывается структура, а в
двух других — страницы, которые будут показаны в первом и втором фреймах.
Разбивка на столбцы
В отличие от обычной Web-страницы, страница, которая описывает структуру фреймов,
не содержит тела, то есть блока
<BODY>...</BODY>.
Вместо этого записывается блок
<FRAMESET>...</FRAMESET>
(от английского frameset - набор фреймов).
Чаще всего используется разбивка страницы на столбцы, когда левая
часть содержит оглавление сложного документа, а в правой показан выбранный
раздел. Пример файла, в котором описана такая структура,
приведен ниже:
<HTML>
<HEAD>
<TITLE>Фреймы-столбцы</TITLE>
</HEAD>
<FRAMESET COLS="30%,*" FRAMESPACING="20">
<FRAME SRC="left.html" NORESIZE SCROLLING="auto">
<FRAME SRC="right.html" NAME="qq">
</FRAMESET>
</HTML>
Браузер отображает эту страницу так:
Описание структуры заключено внутрь блока
<FRAMESET>...</FRAMESET>.
В параметре COLS тэга <FRAMESET>
указывается, сколько фреймов-столбцов будет на странице и какова ширина каждого из них
(через запятую). Ширина фреймов может быть задана в процентах от всей ширины окна
браузера или в пикселах. Знак * означает
«использовать все оставшееся место». В этом примере левая часть занимает
30 процентов ширины окна.
Параметры тэгов
Параметр FRAMESPACING тэга <FRAMESET>
задает ширину границы между фреймами в пикселах. Границу можно перетаскивать мышкой,
изменяя размеры фреймов, если это разрешено.
<FRAMESET COLS="30%,*" FRAMESPACING="0">
Если требуется скрыть границу между фреймами, в тэге <FRAMESET>
надо установит дополнительные параметры (для разных браузеров):
<FRAMESET COLS="30%,*" FRAMEborder="0" border="0">
Каждый фрейм описывается непарным тэгом <FRAME>, у которого
есть один обязательный параметр SRC, указывающий имя файла
для или URL документа в Интернете, который будет загружен в этот фрейм.
Параметр NORESIZE тэга <FRAME>
говорит о том, что размеры этого фрейма запрещено менять.
Параметр SCROLLING задает режим работы вертикальной линейки
прокрутки и может принимать три значения:
- yes — линейка прокрутки видна всегда
- no — прокрутка запрещена, линейки прокрутки нет
- auto — линейка прокрутки появляется только
тогда, когда информация не помещается в окно
Каждый фрейм может иметь имя, которое указывается в параметре
NAME тэга <FRAME>.
Оно служит для того, чтобы загружать документы в другой фрейм, обращаясь к нему по имени
(см. далее).
Параметры MARGINWIDTH и
MARGINHEIGHT тэга <FRAME>
задают значения горизонтального и вертикального отступов от края страницы
в пикселах. Например, чтобы убрать эти поля, надо написать
<FRAME SRC="left.html" MARGINWIDTH="0"
MARGINHEIGHT="0">
Разбивка на строки
Аналогично описывается и деление страницы на фреймы-строки.
Для этого используется параметр ROWS тэга
<FRAMESET>.
Фрейм, описанный в файле
<HTML>
<HEAD>
<TITLE>Фреймы-строки</TITLE>
</HEAD>
<FRAMESET ROWS="40,*" FRAMESPACING="10">
<FRAME SRC="up.html" NORESIZE SCROLLING="auto">
<FRAME SRC="down.html" NAME="qq" >
</FRAMESET>
</HTML>
отображается на экране так:
Обратите внимание, что высота первой строки задана в пикселах
(без знака процента).
Сложные структуры
Покажем пример структуры, в которой сделана разбивка на строки и столбцы.
Легко заметить, что страница разбита на два столбца, а второй столбец -
еще на 2 строки. Таким образом получилась вложенная структура, где
вместо второго столбца использован набор фреймов с разбивкой на строки:
<HTML>
<HEAD>
<TITLE>Фреймы</TITLE>
</HEAD>
<FRAMESET COLS="30%,*" FRAMESPACING="20">
<FRAME SRC="left.html" SCROLLING="no">
<FRAMESET ROWS="40,*" FRAMESPACING="10">
<FRAME SRC="up.html" NORESIZE SCROLLING="auto">
<FRAME SRC="down.html" NAME="qq" >
</FRAMESET>
</FRAMESET>
</HTML>
Ссылки на другой фрейм
Часто один фрейм используется как оглавление, а другой является рабочей частью.
Для того, чтобы после щелчка на пункте оглавления заданный файл
открывался не в том же фрейме, а в другом, в параметре
TARGET тэга <A>
надо указать имя нужного фрейма. Например, если надо открыть документ во
фрейме с именем qq, можно записать:
<A HREF="part1.html" TARGET="qq">
Подробнее о ссылках можно прочитать в разделе Ссылки.
В следующем разделе вы узнаете о языке JavaScript.