Перейти к содержимому

Тег HTML <frame>

Тег <frame> определяет конкретное окно, фрейм, в который можно загрузить другую веб-страницу. Используйте атрибут src для указания адреса этой веб-страницы. Веб-страница может содержать несколько таких фреймов.

Тег <frame> используется вместе с элементом <frameset>, который определяет, как разделить окно на фреймы.

DANGER

Тег <frame> является устаревшим HTML-тегом и не поддерживается в HTML5. Вместо него используйте тег <iframe>.

При использовании фреймов элемент <frameset> заменяет тег <body>. Элемент <frameset> определяет структуру фрейм-сета (зоны в окне браузера, куда загружаются другие веб-страницы), количество столбцов и строк, а также их размер в процентах или пикселях. Обратите внимание, что этот тег также устарел в HTML5.

TIP

Страницы, содержащие фреймы, могут быть проверены только в том случае, если объявление <!DOCTYPE> установлено в HTML Frameset DTD или XHTML Frameset DTD.

Используйте атрибут rows тега <frameset> для определения горизонтальных фреймов, а атрибут cols — для определения вертикальных фреймов.

Синтаксис

Тег <frame> является пустым, что означает отсутствие необходимости в закрывающем теге. Однако в XHTML тег <frame> должен быть самозакрывающимся (<frame />).

Пример использования тега HTML <frame>:

Пример использования тега HTML <frame>

html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <frameset cols="50%,50%">
    <frame src="https://www.w3docs.com/learn-html/html-basic.html">
    <frame src="https://www.w3docs.com/learn-css/css-syntax.html">
  </frameset>
</html>

Результат

Пример тега frame

Пример использования тега HTML <frame> с атрибутом rows:

Пример использования тега HTML <frame> с атрибутом "rows":

html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <frameset rows="30%,30%,40%">
    <frame src="https://www.w3docs.com/learn-javascript.html">
    <frame src="https://www.w3docs.com/learn-php.html">
    <frame src="https://www.w3docs.com/learn-git.html">
  </frameset>
</html>

Преимущества и недостатки тега <frame>

Ниже приведены преимущества этого тега:

  • Он позволяет просматривать несколько документов на одной веб-странице.
  • В одном фрейм-сете можно загружать страницы с разных серверов.

Тег <frame> имеет следующие недостатки:

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

Фреймы против iframe

Элементы <frame> и <iframe> имеют схожее поведение. Однако между ними есть некоторые различия. Тег <frame> используется вместе с элементом <frameset>, который определяет, как разделить окно на фреймы. Каждый из этих фреймов содержит свой контент. Тег <iframe> встраивает фрейм непосредственно в тот же ряд, что и другие элементы веб-страницы.

Атрибуты

АтрибутЗначениеОписание
bordercolorcolorОпределяет цвет границы вокруг фрейма. Не поддерживается в HTML 5.
frameborder0, 1Определяет, отображать ли границу вокруг фрейма. Не поддерживается в HTML 5.
longdescURLОпределяет страницу с подробным описанием содержимого фрейма. Не поддерживается в HTML 5.
marginheightpixelsОпределяет верхние и нижние отступы фрейма. Не поддерживается в HTML 5.
marginwidthpixelsОпределяет левые и правые отступы фрейма. Не поддерживается в HTML 5.
nametextОпределяет имя фрейма. (Рекомендуется всегда устанавливать этот атрибут, особенно если необходимо загрузить документ в другой фрейм по ссылке из текущего.) Не поддерживается в HTML 5.
noresizenoresizeОпределяет, может ли пользователь изменять размер фрейма. Не поддерживается в HTML 5.
scrollingyes, no, autoОпределяет, отображать ли полосу прокрутки. Не поддерживается в HTML 5.
srcURLОпределяет URL страницы, которая должна быть загружена во фрейм. Не поддерживается в HTML 5.

Элемент <frame> также поддерживает Глобальные атрибуты.

Практика

Какие из следующих утверждений верны относительно тега HTML <frame>?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.