Тема 8: Фреймы Справочный материал Фрейм это прямоугольная область окна браузера, которая является самостоятельным окном браузера и содержит отдельный HTML документ. фреймы – отдельные окна, в каждом из которых может быть загружена отдельная страница. 1 Пример: на странице 3 фрейма представляют колонки сайта. В левой колонке (фрейме 2) размещается навигационное меню сайта, в верхнем 2 3 фрейме (1) размещается реклама, а в фрейме (3) размещается собственно содержание сайта. Нажатие на ссылки в левой колонке сайта приводит к загрузке страниц в правом нижнем фрейме. Общая структура создания фреймов: <FRAMESET> - тег определяющий структуру фреймов (фреймсет) <FRAME> - первый фрейм <FRAME> - второй фрейм </FRAMESET> - закрывающий тег фреймсета Тег <FRAMESET> создает страницу фреймов или фреймсет. Тег<BODY> в этом случае не используют. Параметры: COLS - определяет количество фреймов по горизонтали слева на право. Значение задается цифрами, означающими размеры фреймов по ширине в пикселах или в процентах, через запятую. Символ '*' означает выделение под данный фрейм всего оставшегося на экране пространства. Примеры: <FRAMESET COLS=200,*,100> - Три фрейма, первый - 200 пикселов, последний 100 пикселов, второй (средний) - все оставшееся пространство. ROWS - определяет вертикальную структуру фреймов сверху вниз. Значение этого параметра задается аналогично параметру Cols Пример: <FRAMESET ROWS=50%,50%> - Два фрейма по 50% экрана в высоту каждый. Того же эффекта можно добиться задав значение параметра ROWS равным 50%,* BORDER -определяет размер границы между фреймами в пикселах. Тег <FRAME> позволяет описать фрейм, то есть присвоить ему имя, назначить открывающуюся в нем страницу и задать свойства.. Параметры: NAME=”имя фрейма”.Имена фреймов используются для создания ссылок на этот фрейм из другого фрейма. SCR=”имя_файла.html” – задает страницу, которая будет открыта во фрейме по умолчанию. MRGINWIDTH=(число от 1 до 6) – задает горизонтальный отступ между фреймом и его границей. MRGINHEIGHT=(число от 1 до 6) – задает вертикальный отступ между фреймом и его границей. SCROLLING =(YES; NO; AUTO) – определяет наличие полос прокрутки в окне фрейма. NORESIZE –параметр, указывающий на то, что размеры данного фрейма не могут быть изменены. Пример: <FRAME SRC=left.html SCROLLING=yes NORESIZE> Сложная структура фреймов. Если в структуре фреймов есть как горизонтальное, так и вертикальное расположение фреймов, то поступают так: Сначала нарисуйте требуемую структуру фреймов на листке бумаги и пронумеруйте фреймы. Нумеруют фреймы слева направо, сверху вниз. Совместить в одном теге <FRAMESET> горизонтальное (COLS) и вертикальное (ROWS) размещение фреймов нельзя, поэтому используют несколько тегов <FRAMESET>. Вот как это делается: <HTML> <HEAD><TITLE>Фреймы</TITLE></HEAD> <FRAMESET COLS=150,* BORDER=0> <FRAME SRC=left.html SCROLLING=yes NORESIZE> <FRAMESET ROWS=70,* BORDER=0> <FRAME SRC=top.html SCROLLING=auto NAME=top NORESIZE> <FRAME SRC=content.html SCROLLING=yes NAME=content NORESIZE> </FRAMESET> </FRAMESET> </HTML> Итак, первый тег <FRAMESET> грубо говоря разделяет экран на два фрейма - левый и правый. А второй тег <FRAMESET> разделяет правую часть (правый фрейм) еще на два фрейма - верхний и нижний, то есть мы как бы вставляем во второй (левый) фрейм еще два фрейма, определяя размещение фреймов по вертикали (ROWS=70,*). Затем идут два фрейма и в конце закрываются оба тега <FRAMESET>. В результате в левом фрейме будет загружен документ left.html, в верхнем top.html и в нижнем content.html Взаимодействие между фреймами. Для того, чтобы создать ссылку в одном фрейме так, чтобы документ этой ссылки загрузился в другом фрейме, нужно просто использовать параметр TARGET тега <A> задав его значение равным имени целевого фрейма, например, <A HREF=1.html TARGET=content>Пункт 1</A> Этот параметр можно также использовать в теге <AREA>, при распределении ссылок по картинке. Если в одном фрейме находитсся меню, а страницы должны открываться в другом фрейме, используют тег <BASE> с параметром <TARGET>: Документ 1 doc2.html <FRAMESET ROWS=”20,*”> <FRAME SRC=”doc2.html” NAME=”FRAME1”> <FRAME SRC=”doc3.html” NAME=”FRAME2”> </FRAMESET> <HTML> <HEAD><BASE TARGET=”FRAME2”></HEAD> <BODY> <A HREF=”url1”>ссылка 1 </A> <A HREF=”url2”>ссылка 2 </A> </BODY> </HTML>