На главную страницу сайта К. Полякова
Преподавание, наука и жизнь.
 
главная школа вуз наука delphi программы походы автор
 Лента новостей Новости Блог Блог 

 

Электронный учебник по языку HTML

HTML

Фреймы

Что это такое?

Иногда 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.

Valid XHTML 1.0 Transitional

© 2000-2016 К. Поляков
 

В Контакте