HTML тег <frameset>

Элемент <frameset> (от англ. "frame set" ‒ «набор фреймов») определяет фреймовую структуру на странице.

Элемент <frameset> содержит один или более элементов <frame>. Каждый элемент <frame> может содержать отдельный HTML документ.

Элемент <frameset> определяет сколько столбцов и строк будет во фреймовой структуре, а также сколько процентов/пикселей они будут занимать.

Элементы <frameset> допустимо вкладывать друг в друга для разбиения отдельных окон на более мелкие. Фреймы по своей сути очень похожи на ячейки таблицы, однако более универсальны.

Несмотря на ряд преимуществ, в настоящее время использование фреймов для публичных сайтов не рекомендовано по ряду причин:

  • Такой документ дольше загружается, чем обычный HTML-документ с тем же объёмом информации. Браузеру необходимо сначала определить структуру фрейм-документа, а затем в каждое окно загрузить еще по документу, имеющему свой заголовок и содержимое.
  • Пользователь может видеть только адрес самого фрейм-документа, а не отдельные адреса каждого документа во фрейме. Следовательно, если в процессе работы одни фреймы заменялись другими, то пользователь не сможет сохранить у себя конечный адрес нужной страницы, а только адрес исходного фрейм-документа.
  • Поисковые системы плохо работают с фреймовой структурой, поскольку на страницах, которые содержат контент, обычно нет ссылок на другие документы. Таким образом поисковые машины, приводят пользователя к HTML-документу, являющемуся согласно задумке лишь одним из фреймов того, что автору сайта хотелось бы представить.

Примечание: Использование элемента <body> в документе с фреймовой структурой, кроме как внутри элемента <noframes>, запрещено.

Совет: Если вы хотите, чтобы страница с фреймовой структурой проходила валидацию, установите директиву <!DOCTYPE> либо в "HTML Frameset DTD", либо в "XHTML Frameset DTD".

Внимание: Данный элемент не поддерживается в HTML5, не используйте его.

Синтаксис

<frameset>
  <frame src="...">
  ...
  <noframes> ... </noframes>
</frameset>

Закрывающий тег

Не требуется.

Атрибуты

colsУстарел в HTML5
Определяет ширину и количество столбцов фреймов.
rowsУстарел в HTML5
Определяет высоту и количество фреймовых строк.

Для этого элемента доступны глобальные атрибуты и события.

Различия между HTML 4.01 и HTML5

Тег <frameset> не поддерживается в HTML5.

Пример использования:

Элемент <frameset>

Структура HTML-документа с фреймами:

Пример HTML:

Попробуй сам
<frameset rows="100, *"> 
  <frame src="frame_top.html"> 
  <frameset cols="20%, 80%"> 
    <frame src="frame_left.html"> 
    <frame src="frame_right.html"> 
  </frameset> 
  <noframes> 
    <p>Ваш браузер не отображает фреймы</p> 
  </noframes> 
</frameset> 

Спецификации

Спецификация Статус
HTML 4.01 (W3C) Рекомендация

Поддержка браузерами

Попробуйте сами - Примеры

Границы или пространство между фреймами:
Как убрать границу между фреймами

Управление границей фреймов:
Как изменить цвет границы фрейма

Ссылка на другой фрейм:
Как создать ссылку на другой фрейм


Учебник HTML

HTML уроки: HTML Фреймы