Фреймы
Фреймы (frames) используются для разбивки окна браузера на несколько областей, каждая из которых представляет собой отдельный HTML-документ (фрейм). Как правило, фреймы используются для облегчения навигации по сайту, создания навигационного меню. Тем не менее, большинство разработчиков избегают использования фреймов, к чему, поверьте, имеют довольно веские основания. Старайтесь использовать фреймы только тогда, когда это действительно необходимо.
Элементы для создания фреймов и работы с ними:
- FRAMESET Определяет фреймовую (оконную) структуру документа: размеры и расположение фреймов на странице
- FRAME Определяет фрейм и его свойства внутри FRAMESET-структуры
- NOFRAMES Определяет что показывать, если браузер не поддерживает фреймы
FRAME
(HTML 4.0) – Frame
Определяет фрейм и его свойства внутри FRAMESET-структуры. (см. элемент FRAMESET)
Атрибуты:
SRC – обязательный атрибут. Указывает адрес (URL) HTML-файла, отображаемого в данном фрейме.
NAME – определяет имя данного фрейма, которое будет в дальнейшем использоваться для ссылки на него из других документов с помощью атрибута TARGET (см. элемент A). В качестве значения нужно указать любое имя без пробелов с использованием латинских символов и цифр. Имя не должно начинаться с цифр и специальных символов.
MARGINWIDTH – определяет ширину (в пикселах) левого и правого полей фрейма. Если атрибут не указан, браузер самостоятельно определит оптимальный размер отступа.
MARGINHEIGHT – определяет ширину (в пикселах) верхнего и нижнего полей фрейма. Если атрибут не указан, браузер самостоятельно определит оптимальный размер отступа.
SCROLLING – определяет наличие линеек прокрутки содержимого фрейма. Возможные значения:
yes – отображать линейки прокрутки.
no – не отображать линейки прокрутки.
auto – отображать линейки прокрутки при необходимости (если документ, указанный в атрибуте SRC, не умещается во фрейме).
NORESIZE – не позволяет изменять размеры фрейма. Данный атрибут является флагом и не требует указания значения.
FRAMEBORDER – определяет наличие рамок у фрейма. Возможные значения:
yes – отображать рамки;
no или 0 – не отображать рамки;
Браузеры Netscape не поддерживают данный атрибут в полной мере и для глобального определения ширины рамок используют атрибут BORDER элемента FRAMESET.
Пример (файл index.html):
...
<FRAMESET FRAMEBORDER="0" FRAMESPACING="0" BORDER="0" COLS="265,*">
<FRAME SRC="frame1.html" NAME="page">
<FRAMESET ROWS="165,*">
<FRAME SRC="frame2.html" NAME="menu1" MARGINWIDTH="0">
<FRAME SRC="frame3.html" NAME="menu2" MARGINWIDTH="0">
</FRAMESET>
<NOFRAMES>Ваш браузер не поддерживает фреймы</NOFRAMES>
</FRAMESET>
<BODY>
</BODY>
...
В результате окно браузера разделится на три фрейма, как показано ниже. Причем frame1.html будет иметь ширину 265 пикселов, а frame2.html – высоту 165.
NOFRAMES
(HTML 4.0) – No Frames
Все, что находится между начальным и конечным тегами данного элемента, будет отображено браузером, если он не поддерживает фреймы. Элемент NOFRAMES не имеет атрибутов и должен находиться внутри элемента FRAMESET.
Пример:
<FRAMESET ROWS="*,*">
<NOFRAMES>Ваш браузер не поддерживает фреймы. Обыдно, да?</NOFRAMES>
<FRAME SRC="frame1.html">
<FRAME SRC="frame2.html">
</FRAMESET>
FRAMESET
(HTML 4.0) – Frame Set
Определяет фреймовую (оконную) структуру документа: размеры и расположение фреймов на странице. Создаётся вместо тела документа (то есть элемент BODY в документе не используется).
Открывает и закрывает список фреймов, определяемых с помощью элемента FRAME. Между начальным и конечным тегами кроме элементов FRAME и NOFRAMES могут находиться другие элементы FRAMESET. То есть элемент FRAMESET поддерживает вложенные конструкции фреймов.
Атрибуты:
ROWS – определяет количество и размеры горизонтальных фреймов (фреймов-строк) в окне браузера. В качестве значения задается список размеров фреймов через запятую. Способы задания размеров:
• в процентах от высоты рабочей области окна браузера. Например: "30%,30%,40%";
• в виде знака "*" (звездочка), говорящего о том, что фрейм занимает все свободное пространство окна браузера, незанятое другими фреймами с явно указанными размерами. Например, звездочка в записи "25%,25%,*" равносильна 50%;
• в пикселах. Например: "75,*";
Все три способа можно совмещать. Например, "25%,40,*" разобъет экран на три горизонтальных фрейма, первый из которых будет высотой в четверть окна браузера, второй – в 40 пикселов, а третий займет всю оставшуюся площадь.
COLS – определяет количество и размеры вертикальных фреймов (фреймов-столбцов) в окне браузера. В качестве значения задается список размеров фреймов через запятую. Размеры задаются так же, как и в предыдущем атрибуте ROWS.
BORDER – определяет ширину рамок фреймов в пикселах. Данный атрибут действует только в браузерах Netscape;
FRAMEBORDER – определяет наличие рамок у содержащихся внутри FRAMESET фреймов. Возможные значения:
Yes – отображать рамки;
No или 0 – не отображать рамки;
Браузеры Netscape не поддерживают данный атрибут в полной мере и для глобального определения ширины рамок используют атрибут BORDER.
FRAMESPACING – определяет расстояние (так называемую "серую область") между фреймами в пикселах. Данный атрибут необходим для создания фреймов без рамок.