Фреймы
Окно браузера может быть разделено на части, которые называются фреймами, иногда кадрами. В каждую такую часть окна браузера, т.е. фрейм, может быть загружен HTML документ. Если в фрейм будет загружен документ, который не помещается полностью в нём, то у фрейма (внимание, не у всего окна!) появится вертикальная и/или горизонтальная полосы прокрутки в зависимости от того, по горизонтали или по вертикали не помещается содержимое документа.
Создание структуры фреймов - элемент FRAMESET
Структура разбивки окна хранится в отдельном HTML документе, он-то и назвается документом с фреймами. Структура фреймов формируется при помощи специального элемента FRAMESET. Обычный документ имеет один раздел HEAD и один раздел BODY, тогда как в документе с фреймами раздел BODY заменяется описанием структуры фреймов, т.е. разделом FRAMESET. В раздел FRAMESET может быть добавлен элемент NOFRAME с альтернативным содержанием для отображения в браузерах, не поддерживающих фреймы, или в браузерах с отключенной поддержкой фреймов. Такие браузеры не поймут структуру FRAMESET и NOFRAME, а отобразят помещённый внутри них текст.
Пример
<HTML>
<HEAD>
<TITLE> Документ с фреймами</TITLE>
</HEAD>
<FRAMESET>
Описание фреймов
<NOFRAMES>
Альтернативное содержание для браузеров, не поддерживающих фреймы
</NOFRAMES>
</FRAMESET>
</HTML>
Примечание: обратите внимание, что раздел BODY в документе отсутствует полностью, а элемент NOFRAMES содержится внутри элемента FRAMESET.
Атрибуты элемента FRAMESET
| Атрибут | Описание | Пример |
|---|---|---|
| rows | Определяет количество и размеры горизонтальных фреймов(фреймов-строк) в окне браузера. В качестве значения задаётся список размеров фреймов через запятую. Способы задания размеров: I) в процентах от высоты рабочей области окна браузера - например: "30%, 30%, 40%" II) в виде знака "*" (звёздочка), говорящего о том, что фрейм занимает всё свободное пространство окна браузера, незанятое другими фреймами с ясно указанными размерами - например, звёздочка в записи "25%, 25%, *" равносильна 50% III) в пикселях - например: "75, *". Все три способа можно совмещать | rows="25%, 25%, *" |
| cols | Определяет количество и размеры вертикальных фреймов (фреймов-столбцов) в окне браузера. В качестве значения задаётся список размеров фреймов через запятую. Размеры задаются так же, как и в предыдущем параметре rows | cols="300, *" |
| frameborder | Данный параметр действует только в браузерах Internet Explorer и определяет наличие рамок у содержащихся внутри элемента FRAMESET фреймов. Возможные значения: Yes - отображать рамки; No или 0 - не отображать рамки. | frameborder="0" |
| framespacing | Определяет расстояние (так называемую "серую область") между фреймами в пикселях. Данный параметр также необходим для создания фреймов без рамок | framespacing="0" |
Элемент FRAME
Элемент FRAME описывает отдельный фрейм внутри всей структуры. Он имеет следующие атрибуты:
| Атрибут | Описание | Пример |
|---|---|---|
| src | Обязательный параметр. Указвает адрес (URL) HTML файла, отображаемого в данном фрейме | src="frame1.html" |
| name | Определяет имя данного фрейма, которое будет в дальнейшем использоваться для ссылки на него из других документов с помощью атрибута target. В качестве значения нужно указать любое имя без пробелов с использованием латинских символов и цифр (начальными символами могут быть только буквы латинского алфавита: a-z, A-Z). Имя не должно начинаться с цифр и специальных символов. | name="menu1" |
| marginwidth | Определяет ширину (в пикселях) левого и правого полей фрейма. Если параметр не указан, браузер самостоятельно определит оптимальный размер отступа | marginwidth="0" |
| marginheight | Определяет ширину (в пикселях) верхнего и нижнего полей фрейма. Если параметр не указан, браузер самостоятельно определит оптимальный размер отступа | marginheight="0" |
| scrolling | Определяет наличие полос прокрутки содержимого фрейма. Возможные значения: yes - отображать полосы прокрутки no - не отображать полосы прокрутки auto - отображать полосы прокрутки по необходимости (если документ, указанный в параметре src, не умещается во фрейме) | scrolling="auto" |
| noresize | Не позволяет изменять размеры фрейма. Данный параметр является флагом и не требует указания значения | noresize |
| frameborder | Определяет наличие рамок у фрейма. Возможные значения: yes или 1 - отображать рамки no или 0 - не отображать рамки | frameborder="0" |
Пример HTML документа с фреймами
<HTML>
<HEAD>
</HEAD>
<FRAMESET cols="100,*">
<FRAME name="frame1" src="frame1.html">
<FRAMESET rows="80,*,30">
<FRAME name="frame2" src="frame2.html">
<FRAME name="frame3" src="frame3.html">
<FRAME name="frame4" src="frame4.html">
</FRAMESET>
</FRAMESET>
</HTML>
| Элементы html: head, body, title, base, basefont, link, meta, style, a, abbr, acronym, address, area, b, bdo, bgsound, big, blockquote, br, button, caption, center , cite, code, col, colgroup, tr, td, dd, del , dfn, div, dl, dt, em |