Фреймы

Материал из Викиреальностя
Перейти к: навигация, поиск

Фреймы — теги html, разделяющие окна веб-обозревателя на несколько частей, в каждой из которых может быть загружена отдельная веб-страница. Страницы с фреймами не содержат никакого контента и лишь загружают другие веб-страницы, обеспечивая навигацию между ними.

Веб разработчики используют рамки очень редко.

Содержание

[править] Элементы для создания рамок

  • <FRAMESET> — вся структура документа с фреймами (заменяет <body>).
  • <FRAME> — отдельный фрейм.
  • <NOFRAMES> — текст, отображаемый в том случае, если обозреватель не поддерживает фреймы.

[править] Структура разметки веб-страницы с фреймами

[править] Задание количества фреймов на странице

Основой веб-страницы с фреймами является тег <FRAMESET>, который используется вместо тега <BODY>. Этот тег делит страницу на несколько строк либо столбцов с помощью указываемых в нём атрибутов COLS или ROWS.

Предупреждение Предупреждение:  Используются или строки, или столбцы. Одновременное применение COLS и ROWS внутри одного тега <FRAMESET> не допускается. Это может привести к непредвиденным ошибкам.

Атрибуту COLS или ROWS присваиваются перечисляемые через запятую значения размеров фреймов. Количество значений определяет количество строк или столбцов, на которые делится окно браузера. В качестве значений могут быть указаны число, обозначающее размер в пикселях, проценты или части от оставшегося свободного пространства окна, а также знак звёздочки «*», обозначающий оставшееся пространство окна.

Код Пояснение
<FRAMESET COLS="200, 300, *">
Разбиение на три колонки, первая шириной 200px, вторая — 300px и третья колонка займёт оставшуюся ширину.
<FRAMESET ROWS="25%, 25%, 25%, 25%">
Разбиение на четыре строки, каждая из которых занимает 25% от высоты окна.
<FRAMESET COLS="2*,3*,*">
Разбиение на три колонки, первая из которых занимает 2/6 ширины экрана, вторая — 3/6, а третья — 1/6.

В зависимости от того, на какое количество строк или столбцов делится окно, внутри тега <FRAMESET> помещается соответствующее количество тегов <FRAME>, каждый из которых описывает, что будет загружаться в соответствующий фрейм. Также внутри тега <FRAMESET> помещаются теги <NOFRAMES></NOFRAMES>, в которые заключается дополнительное содержимое, предназначенное для браузеров, не поддерживающих фреймы.

Теги <FRAMESET> допускают вложенность: вместо каждого тега <FRAME> может быть вставлена структура <FRAMESET>, делящая часть окна на несколько частей, внутри которой находятся свои теги <FRAME>. К примеру, родительский <FRAMESET> может делить окно на несколько столбцов, а вложенный — делить один из столбцов на несколько строк.[1]

[править] Параметры тега <FRAMESET>

Кроме атрибутов COLS и ROWS тег <FRAMESET> имеет дополнительные атрибуты:

  • FRAMEBORDER — отображение границ фреймов. Может принимать значения yes или no.
  • BORDER — толщина границ фреймов в пикселях.
  • BORDERCOLOR — цвет границ фреймов в формате #RRGGBB.[2]

[править] Описание отдельного фрейма

Каждый отдельный фрейм устанавливается с помощью тега <FRAME>.

Параметры тега <FRAME>:

  • NAME — уникальное имя фрейма, которое используется для его идентификации. При нажатии на ссылку на странице с фреймами, если в параметре TARGET этой ссылки указано имя какого-либо фрейма, веб-страница по этой ссылке открывается в указанном фрейме.
  • SRCURL веб-страницы, которая загружается в данный фрейм.
  • SCROLLING — параметр, устанавливающий отображение полос прокрутки фрейма. Может принимать значения yes, no, auto. По умолчанию принято значение auto: если содержимое страницы не влазит в окно фрейма, добавляется полоса прокрутки. При yes полоса прокрутки добавляется всегда. При no никогда не появляется, даже если содержимое не влезло.
  • NORESIZE — параметр, запрещающий изменение размера фрейма. По умолчанию размеры фреймов можно изменять перетаскиванием мышкой. Добавление данного атрибута делает размеры фрейма неизменяемыми. Указывается без значений.
  • MARGINWIDTH — ширина отступов фрейма слева и справа.
  • MARGINHEIGHT — высота отступов фрейма сверху и снизу.[1]
  • FRAMEBORDER — отображение границ фрейма. Может принимать значения yes или no.
  • BORDERCOLOR — цвет границ фрейма в формате #RRGGBB.[2]

[править] Пример кода веб-страницы с фреймами

В данном примере окно браузера делится на три колонки, в первую из которых загружается страница page1.html, во вторую page2.html, а третья колонка делится на три строки, в которые соответственно загружаются страницы page3.html, page4.html и page5.html.

HTML-код страницы

Вид окна с фреймами

<HTML>
<HEAD>
<TITLE>Название страницы</TITLE>
</HEAD>
<FRAMESET COLS="*, *, *">
 <FRAME NAME="col-1" SRC="page1.html">
 <FRAME NAME="col-2" SRC="page2.html">
 <FRAMESET ROWS="*, *, *">
  <FRAME NAME="row-1" SRC="page3.html">
  <FRAME NAME="row-2" SRC="page4.html">
  <FRAME NAME="row-3" SRC="page5.html">
 </FRAMESET>
 <NOFRAMES>
  <BODY>
   <P>Ваш браузер не поддерживает фреймы.</P>
  </BODY>
 </NOFRAMES>
</FRAMESET>
</HTML>
page1 page2 page3
page4
page5

[править] История

Фреймы появились как дополнение к стандарту HTML, введённое в браузере Netscape Navigator 2.0.

В Netscape Navigator версии 3.0 бета были добавлены атрибуты FRAMEBORDER и BORDERCOLOR для тегов <FRAMESET> и <FRAME>, а также атрибут BORDER для тега <FRAMESET>.[2]

В ранних версиях браузера Internet Explorer атрибуту FRAMEBORDER допускалось присваивать только числовые значение, тогда как в Netscape возможными значениями были yes или no. Поэтому для одинакового вида страницы в разных браузерах практиковалось дублирование этого атрибута с обоими вариантами: <FRAMESET FRAMEBORDER="no" FRAMEBORDER="0">.[3]

[править] Недостатки фреймов

У фреймов существует много минусов, к примеру плохое индексирование поисковиками и невозможность создания закладок, потому область применения фреймов очень специфична (phpMyAdmin, панель управления ISPmanager).

[править] Ссылки

[править] Примечания

  1. 1,0 1,1 Softservice Group HTML Фрэймы. Городской Кот (1996).
  2. 2,0 2,1 2,2 Kevin Werbach Краткое руководство по HTML перевод на русский Станислава Малышева, 1996 год, c_rabbit.chat.ru
  3. Влад Мержевич Рамки — архивная версия сайта htmlbook.ru за 2004 год. Сайт физического факультета БГПУ Республики Беларусь phys.bspu.unibel.by.
Фреймы относится к теме «HTML»   ±