
Фреймы (Frames-рамки, кадры) - множественные скроллируемые окна, позволяющие выводить в одном окне браузера, несколько страниц одновременно. Использовани фреймов позволяет получить интересные интерфейсные решения оформления страниц.
Сначала нужно создать загрузочный файл, который обычно является главной страничкой сервера и имеет имя index.htm или index.html. В этом файле задаются размеры, количество и атрибуты фреймов. Затем уже будем создавать файлы для каждого из фреймов.
Фреймы задаются тэгом <FRAMESET></FRAMESET>
| rows="разделенный запятыми список пикселов, процентов и относительных длин". | Расположение горизонтальных фреймов. По умолчанию равен 100%, что означает одну строку. |
| cols="разделенный запятыми список пикселов, процентов и относительных длин". | Расположение вертикальных фреймов. По умолчанию равен 100%, что означает один столбец. |
Пример:
Текст программы:
<FRAMESET cols="1*,200,3*" >
Здесь страница браузера разбивается на три столбца, причем, сначала браузер выделит 200 пикселей для среднего столбца, а затем распределит оставшееся пространство следующим образом:
</FRAMESET>
Если принять ширину оставшегося пространства за три четыре части (1*+3*=4*), то левый фрейм получит одну (1*) часть а правый фрейм оставшиеся три (3*) части.
Результат выполнения:
Страничка разобьется приблизительно так:
| 1* | 200 пикселей | 3* |
<FRAMESETrows="30%,70%" cols="33%,37%,*" >
</FRAMESET>
В этом случае страница разбивается на две строки, высотой 30% и 70% от всей высоты окна браузера, и три столбца, левый будет задан с шириной 33% от ширины экрана браузера, средний - 37%, а правый получит все что осталось т.е. 100%-(33%+37%)=30%Более сложная структура фреймов создается с помощью вложения набора фреймов друг в друга.
Допустим, нужно создать следующую структуру сайта:
| Название странички | |
| Главное меню | Здесь будем отображать информацию, выбранную в главном меню |
| copyright | |
Здесь мы видим три строки, причем средняя имеет два столбца.
Сначала задаем строки. Верхняя и нижняя будут иметь высоту по 5%, а средняя то что останется.
<FRAMESET rows="5%,*,5%" >
Затем задаем столбцы. Левый будет 30% от ширины браузера, а правый, соответственно, 70%.
<FRAMESET cols="30%,70%" >
</FRAMESET>
</FRAMESET>
Теперь осталось задать сами фреймы. Фреймы определяются тэгом <FRAME></FRAME>.
| src="URL" | Описывает URL документа, который будет отображен внутри ланного фрэйма. Если он отсутствует, то будет отображен пустой фрэйм. |
| name="frame_name" | Имя фрейма, которое должно обязательно начинаться с символа. Содержимое поименованных фрэймов может быть задействовано из других документов при помощи специального атрибута TARGET, описываемого ниже. |
| marginwidth="value" | Ширина боковых разделительных полос между фреймами в пикселях. |
| marginheight="value" | Ширина верхних и нижних разделительных полос между фреймами в пикселях. |
| scrolling="yes", "no", "auto" | Наличие полос прокрутки у фреймов где:
|
| noresize | Отмена возможности изменения размеров фреймов. Если у одного фрэйма установлен атрибут noresize, то у соседних фрэймов тоже не может быть изменен размер со стороны данного. |
Исходя из всего этого допишем программу:
<FRAMESET rows="5%,*,5%" >
Задаем параметры верхнего фрейма, который будет фиксированной ширины, без полос прокрутки
<FRAME src="top.htm" name="top_page" scrolling="no" noresize>
Задаем параметры левого фрейма, фиксированной ширины, с возможностью вывода полос прокрутки
<FRAMESET cols="30%,70%" >
<FRAME src="main_mnu.htm" name="main_mnu" scrolling="auto" noresize>
Задаем параметры правого фрейма, фиксированной ширины, с возможностью вывода полос прокрутки
<FRAME src="content.htm" name="content" scrolling="auto" noresize>
И наконец, задаем параметры нижнего фрейма, фиксированной ширины, без полос прокрутки.
</FRAMESET>
<FRAME src="bottom.htm" name="bottom_page" scrolling="no" noresize>
</FRAMESET>
Полностью код программы будет выглядить так:
<HTML>
Заметьте, что документ, описывающий набор фреймов, не содержит тэга <BODY>. Он должен задавать только структуру фреймов и больше ничего.
<TITLE>Титул странички</TITLE>
<FRAMESET rows="5%,*,5%" >
<FRAME src="top.htm" name="top_page" scrolling="no" noresize>
<FRAMESET cols="30%,70%" >
<FRAME src="main_mnu.htm" name="main_mnu" scrolling="auto" noresize>
<FRAME src="content.htm" name="content" scrolling="auto" noresize>
</FRAMESET>
<FRAME src="bottom.htm" name="bottom_page" scrolling="no" noresize>
</FRAMESET>
Чтобы ваша страничка была видна в браузерах не поддерживающих фреймы, следует указать тэг <NOFRAMES></NOFRAMES>, внутри контейнера <FRAMESET>.
К таким браузерам относятся браузер NSCA Mosaic, IE2.0 и NN версии ниже чем 2.0.
Например:
<FRAMESET>
<NOFRAMES>
<BODY bgcolor="red">
Ваш браузер не поддерживает фреймы.
</BODY>
</NOFRAMES>
</FRAMESET>
Теперь создадим файл main_mnu.htm, где будет главное меню сайта..
<HTML>
<BODY BGCOLOR="gray">
<A HREF="menu1.htm" TARGET="content">1. Первый элемент меню</A><BR>
<A HREF="menu2.htm" TARGET="content">2. Второй элемент меню</A><BR>
</HTML>
Урок3,Списки и таблицы. | Урок5, Ссылки в документах HTML.
|