Язык HTML (HyperText Markup Language - «язык разметки гипертекста») предусматривает два вида фреймов. «Плавающий» более гибок и его проще вставить в уже существующую . В общем случае конструкция, описывающая врезку окна с помощью плавающего фрейма, выглядит так:Здесь в качестве источника данных для этого фрейма указана существующего сайта (атрибут src). Она и будет открыта во фрейме размером 400 на 300 , как это указано в атрибутах width и height.Вы можете указать в атрибуте src и страницу своего сайта. В этом случае достаточно задать относительный адрес (то есть адрес относительно страницы, в которую вставляется фрейм):В этом образце не указаны и высота фрейма, но зато есть атрибут- id. Используя его, вы можете с помощью CSS () задать для этого фрейма необходимые размеры:
Другой тип фреймов - «классический» - требует наличия отдельной страницы, которая будет содержать описание структуры фреймов. Сами фреймы будут находиться в отдельных страницах, может даже на отдельных сайтах. HTML-код такой страницы-контейнера для фреймов может выглядеть так:
Никаких блоков ... и ... , обязательных для обычных страниц, здесь быть не должно.В этом образце открывающий тег контейнера
содержит атрибут rows - это означает, что пространство страницы должно быть поделено по вертикали и первому фрейму будет отдана верхняя часть. Если заменить rows на cols, то разделение будет горизонтальным. Значение этого атрибута "*,*" указывает, что пропорции разделения равны - по 50% каждому. Если указать, например "20%,*", то первому фрейму будет отдано только 20%, а остальное пространство - второму.Пользователь может сам изменять эти пропорции, перетаскивая границы фреймов мышкой, но есть возможность запретить это действие. Для этого в тег конкретного фрейма нужно добавить атрибут noresize. Можно также указать размеры отступов от соседнего фрейма по вертикали и горизонтали (атрибуты marginwidth и marginheight): Есть возможность задавать правила поведения для полос прокрутки каждого фрейма в отдельности. Для этого используется атрибут scrolling, который может содержать одно из трех предопределенных значений. Если указать scrolling="auto", то полосы прокрутки будут появляться когда содержимое фрейма не вмещается в его границы. Если "yes" - полосы будут присутствовать постоянно, независимо от наличия необходимости в них. Если "no" - это будет означать запрет полос прокрутки для этого фрейма. Исходя из информации, изложенной на двух предыдущих шагах, вам нужно сконструировать html-код, который более подходит для решения вашей задачи. После этого останется лишь вставить его в исходный код страницы. Для этого можно воспользоваться редактором страниц системы управления вашим сайтом - откройте в нем нужную страницу, переключите в режим редактирования html-кода и вставьте ваш код в нужное место страницы. А можно скачать файл исходного кода страницы файл-менеджером управления хостинга или системы управления сайтом, открыть его в текстовом редакторе и вставить код в нем. А затем тем же способом закачать измененный код обратно на сервер.
На заре сайтостроения веб-ресурсы широко использовали фреймы для отображения отдельных частей страниц. Но с приходом новой версии HTML 5 всё изменилось. Элементы разметки <frame
>, <frameset
> и <noframes
> признаны устаревшими. Заменой им стал один-единственный тег - <iframe
>. Как добавить в html
Что такое фреймы? Фрейм - основа большинства первых веб-страниц. Если переводить дословно, данное слово означает «кадр», то есть фрейм представляет собой небольшую часть страницы в браузере. Повсеместное использование фреймов в прошлом можно объяснить низким качеством и дороговизной интернет-трафика. Как правило, сайт разбивался на 3-5 частей, каждая из которых выполняла определённое назначение:
«шапка» (верхний фрейм по ширине страницы) - отображение название ресурса; левый/правый «стакан» - вывод меню; центральный фрейм - показ контента сайта.
Разбивка страницы на части позволяла перегрузить лишь некоторую часть при её обновлении. Например, пользователь нажимал пункт меню, и в центральный фрейм закачивалось новое содержимое.
Современные фреймы в HTML 5 Зачем нужен в HTML <iframe
>? Пример - вставка контента стороннего ресурса. Классической является ситуация, когда веб-разработчик желает показать положение объекта на карте. Как быть? Отрисовывать план местности с нуля? Нет - есть более простое решение: встроить на страницу элемент Google Map, Яндекс Карты или 2ГИС. Задача решается в четыре действия.
Нужно перейти на сайт любого картографического сервиса. Найти желаемый объект. Зная точный адрес, можно ввести его в окне поиска. С помощью кнопки «Сохранить и получить код» (для "Яндекс.Карт") или «Готово» (для карт Google) получить код для вставки. Осталось вписать сгенерированные теги разметки на страницу.
Дополнительно можно выбрать размер карты и настроить другие опции отображения.
Как ещё можно использовать в HTML <iframe>
? Пример - вставка видеоматериалов с ресурса Youtube. Мультимедиа-технологии привлекают пользователей Интернета, поэтому видеоконтент столь популярен. С установкой ролика разработчик справится быстро.
Следует загрузить на Youtube собственное видео или найти сторонний файл для трансляции. Получить тег, выбрав кнопку «HTML-код» Заключительное действие - вставить в
В обоих примерах использовалась автоматическое формирование кода, но профессиональные разработчики должны уметь сами составлять его. Во-первых, это позволит им разобраться в вёрстке страницы и при необходимости модифицировать её. Во-вторых, не всегда разметка элементов сайта (даже несмотря на то, что они принадлежат внешнему ресурсу), образуется без участия веб-мастера. Вот здесь и проявляется высокая квалификация разработчика.
Синтаксис Итак, прежде чем приступить к вёрстке страницы, необходимо рассмотреть тег iframe (html): что это такое и как правильно его использовать.
Прежде всего, нужно отметить, что тег парный. Между открывающимся и закрывающимся элементами указывают содержимое, которое будет отображаться в браузерах, не поддерживающих данный элемент разметки. Основные атрибуты тега:
width (ширина); height (высота); src (адрес загружаемого ресурса); align (способ выравнивания); frameborder; allowfullscreen.
Таким образом, получен код для
В приведённой разметке достаточно заменить адрес сайта на любой другой и, если это необходимо, скорректировать размеры фрейма.
Тег
Тег
Синтаксис
...
Параметры
align
Определяет как фрейм будет выравниваться по краю, а также способ обтекания
его текстом.
frameborder
Устанавливает, отображать границу вокруг фрейма или нет.
height
Высота фрейма.
hspace
Горизонтальный отступ от фрейма до окружающего контента.
name
Имя фрейма.
scrolling
Способ отображения полосы прокрутки во фрейме.
src
Путь к файлу, содержимое которого будет загружаться во фрейм.
vspace
Вертикальный отступ от фрейма до окружающего контента.
width
Ширина фрейма.
Закрывающий тег
Обязателен.
Пример 1. Использование тега
Тег IFRAME
Ваш браузер не поддерживает плавающие фреймы!
Описание параметров тега
Параметр ALIGN
Описание
Для плавающего фрейма можно указать его положение на веб-странице или задать
способ обтекания текстом или другими элементами веб-страницы. Способ выравнивания
задается параметром align
тега
.
Синтаксис
...
Аргументы
absmiddle
Выравнивание середины фрейма по середине текущей строки.
baseline
Выравнивание фрейма по базовой линии текущей строки.
bottom
Выравнивание нижней границы фрейма по окружающему тексту.
left
Выравнивает фрейм по левому краю окна.
middle
Выравнивание середины фрейма по базовой линии текущей строки.
right
Выравнивает фрейм по правому краю окна.
texttop
Верхняя граница фрейма выравнивается по самому высокому текстовому элементу
текущей строки.
top
Верхняя граница фрейма выравнивается по самому высокому элементу текущей
строки.
Наиболее популярные параметры — left
и right
,
создающие обтекание текста вокруг фрейма. Чтобы текст не прилегал плотно к содержимому
фрейма, рекомендуется в теге
добавить
параметр hspace
и vspace
,
задающих расстояние до текста в пикселах.
Значение по умолчанию
Пример 2. Выравнивание плавающего фрейма
Тег IFRAME, параметр align
Lorem ipsum dolor sit amet, consectetuer adipiscing elit...
Параметр FRAMEBORDER
Описание
По умолчанию вокруг содержимого фрейма рисуется рамка с эффектом трехмерности.
Чтобы ее скрыть применяется параметр frameborder
.
Синтаксис
...
...
Аргументы
yes (или 1)
Отображает рамку вокруг фрейма.
no (или 0)
Скрывает рамку вокруг фрейма.
Значение по умолчанию
Пример 3. Сокрытие исходной рамки вокруг фрейма
Тег IFRAME, параметр frameborder
Параметр HEIGHT и WIDTH
Описание
Для изменения размеров фрейма средствами HTML предусмотрены параметры width
и height
. Допускается использовать значения в пикселах
или процентах. Если установлена процентная запись, то размеры фрейма вычисляются
относительно родительского элемента — контейнера, где находится тег
.
В случае отсутствия родительского контейнера, в его качестве выступает окно
браузера. Иными словами, width="100%"
означает, что фрейм будет занимать всю ширину веб-страницы.
Если значение высоты или ширины не заданы, то фрейм автоматически принимает
размер 300 х 150 пикселов.
Синтаксис
...
...
Аргументы
Любое целое положительное число в пикселах или процентах.
Значение по умолчанию
width — 300 пикселов, height — 150 пикселов.
Пример 4. Ширина и высота фрейма
Тег IFRAME, параметр width
Параметр HSPACE и VSPACE
HTML:
3.2
4
XHTML:
1.0
1.1
Описание
Для любого фрейма можно задать невидимые отступы по горизонтали и вертикали
с помощью, соответственно, параметров hspace
и
vspace
. Особенно это актуально при обтекании содержимого
фрейма текстом. В этом случае, чтобы текст не «наезжал» плотно на
границу фрейма, необходимо вокруг него добавить пустое пространство.
Синтаксис
...
...
Аргументы
Любое целое положительное число в пикселах.
Значение по умолчанию
Пример 5. Поля вокруг фрейма
Тег IFRAME, параметр hspace
Параметр NAME
Описание
В обычном HTML-документе при переходе по ссылке, в окне браузера текущий документ
заменяется новым. Чтобы направить содержимое во фрейм, он должен иметь уникальное
имя, задаваемое атрибутом name
. В этом случае при
создании ссылки у тега
требуется указать параметр
target
, в качестве значения которого выступает
имя фрейма.
Синтаксис
...
Аргументы
Для указания имени используется набор символов, включая числа и буквы. При
обращении к фрейму по имени соблюдайте то же написание, что и в параметре name
.
Значение по умолчанию
Тег IFRAME, параметр name
Чебурашка
Крокодил Гена
Шапокляк
Параметр SCROLLING
Описание
Если содержимое фрейма не помещается в отведенные размеры, автоматически появляются
полосы прокрутки для просмотра информации. В некоторых случаях, полосы прокрутки
нарушают дизайн веб-страницы, поэтому от них можно отказаться. Для управления
отображением полос прокрутки используется параметр scrolling
.
Синтаксис
...
Аргументы
auto
Полосы прокрутки добавляются браузером только по необходимости, в том случае,
когда содержимое фрейма превышает его видимую часть.
no
Запрещает отображение полос прокрутки.
yes
Всегда вызывает появление полос прокрутки, независимо от объема информации.
Значение по умолчанию
Пример 7. Сокрытие полос прокрутки
Тег IFRAME, параметр scrolling
Параметр SRC
Описание
Указывает адрес файла (URL), который будет загружаться во фрейм. Это может
быть HTML-документ, изображение или серверная программа. Допустимо использовать
не только путь к файлу, но также имя функции JavaScript, которое возвращает
значение.
Синтаксис
...
Аргументы
В качестве значения принимается полный или относительный путь к файлу.
Значение по умолчанию
Пример 8. Путь к файлу
Тег IFRAME, параметр src
Теги фреймов
FRAME определяет свойства отдельного фрейма, на которые делится окно браузера. FRAMESET определяет структуру фреймов на веб-странице. Фреймы разделяют окно браузера на отдельные области, расположенные вплотную друг к другу. В каждую из таких областей загружается самостоятельная веб-страница определяемая с помощью тега FRAME. IFRAME создает плавающий фрейм, который находится внутри обычного документа, он позволяет загружать в область заданных размеров любые другие независимые документы. NOFRAMES отображается в браузере, когда он не поддерживает фреймы и не умеет их интерпретировать. Браузеры, которые работают с фреймами, полностью игнорируют содержимое тега NOFRAMES.
Элемент
Frames
Что же делает ?
Как вставить страницу в страницу HTML
? Для этого нужно использовать , который создает в текущем документе встроенный фрейм, в котором отображается другой HTML-документ
.
Отображение
Display block.
Пример кода
Мощный, но легкий в использовании
Еще в старые недобрые времена веб-дизайна было много элементов, портящих жизнь каждого разработчика. Они почти всегда были плохим подходом к дизайну. К счастью, элемент был объявлен устаревшим в HTML5
. Но или «встроенный фрейм
» по-прежнему доступен. Будет ли он устаревшим в следующей версии? Может, стоит его избегать? Есть несколько допустимых вариантов использования этого элемента при создании HTML
страницы. Но нужно понять, что это такое и как оно работает, чтобы избежать ошибок.
Сходства и различия и
Оба этих элемента позволяют создать отдельный HTML-документ
. Ссылка на содержимое документа, на который ссылается текущая веб-страница, указывается в атрибуте src
.
. . . . . .
Основное различие между и заключается в том, что обеспечивает соблюдение правила, о том, что HTML
документ в приоритете. Содержимое отображается внутри элемента, который является частью текущего документа. В качестве примера рассмотрим это встроенное видео, взятое из YouTube
:
Видео явно на HTML
странице, а не на какой-то отдельной панели. элемент сломал эту парадигму и позволил документу осуществлять контроль над окном браузера, разбив его на несколько мелких панелей (фреймов
), каждая из которых отображает отдельный документ. Все другие различия между и вытекают из этого основного различия.
Не переделывайте макеты на основе фреймов с помощью iframe
Когда-нибудь вам может попасться задача по обновлению старого сайта, который был построен с использованием фреймов. Возможно, вы захотите использовать и фиксированную ширину макета, чтобы воссоздать тот же кошмар из независимых панелей и подокон. Но вы не сможете использовать атрибут target
, чтобы открыть ссылку в отдельном фрейме. Вы можете начать искать решения на JavaScript
. Пожалуйста, не делайте этого.
Удачное (и ужасное) применение
Существует несколько допустимых вариантов использования для создания HTML
страницы:
встраивание стороннего медиа контента;
встраивание собственного медиа контента через кроссплатформенный документ;
встраивание примеров кода;
встраивание сторонних «апплетов
» в качестве форм оплаты.
А вот некоторые ужасные варианты использования :
Фотогалерея;
форум или чат.
Если вам нужно встроить независимые, уже существующие HTML-документы
в текущий, используйте . Если же вы строите все с нуля, нет никаких причин разбивать дизайн страницы на несколько самостоятельных документов. Особенно если они на самом деле не являются независимыми частями контента.
Атрибуты iframe
Название атрибута
Значение
Описание
sandbox
Allow-same-origin
Allow-top-navigation
Allow-forms
Allow-scripts
Задает ряд ограничений на контент, загружаемый во фрейм. Задается перед тем, как создать HTML страницу.
scrolling
yes no auto
Определяет показывать скроллы в фрейме или нет. Является устаревшим в HTML5. Вместо него используйте CSS.
Name
название
Задает имя фрейма.
Align
left right top
middle bottom
Определяет выравнивание фрейма относительно окружающих элементов. Является устаревшим. Вместо него используйте CSS.
frameborder
yes (или 1)
no
Используется для включения отображения границы вокруг фрейма. Является устаревшим в HTML5. Вместо него используйте CSS.
longdesc
URL
Используется, чтобы указать URL-адрес страницы, которая содержит длинное описание содержания фрейма. Является устаревшим. Вместо него используйте CSS.
marginwidth
пиксели
Используется для контроля ширины отступа от содержания до границы фрейма. Является устаревшим. Вместо него используйте CSS.
src
URL
Определяет URL-адрес документа для отображения в IFRAME.
vspace
пиксели
Устанавливает вертикальные отступы от фрейма до окружающего контента. Является устаревшим. Вместо него используйте CSS.
width
пиксели %
Определяет ширину фрейма на HTML странице.
Данная публикация представляет собой перевод статьи «
» , подготовленной дружной командой проекта
Описание
HTML тег определяет встроенную область (рамку), которая может отображать содержимое отдельно взятого документа или даже другого веб-сайта в ограниченном пространстве на текущей веб-странице. Содержимое внутри области существует независимо от окружающей страницы. Две страницы: родительская и дочерняя, отображаемая в рамке, могут взаимодействовать друг с другом через JavaScript или серверный язык программирования.
Атрибут src указывает URL-адрес страницы для загрузки во встроенную область, но сам элемент также может содержать текст или разметку в качестве резервного содержимого для отображения в браузерах, не поддерживающих этот элемент (например: очень старые браузеры, текстовые браузеры и так далее).
Извините, но ваш браузер не может отобразить содержимое фрейма, но
вы можете сами перейти на страницу с новостями.
Любые CSS стили, применяемые к родительскому элементу, не будут применяться к содержимому встроенной области, также как стили, примененные к встроенному содержимому, не будут распространяться на родительский элемент.
Можно указать размер для встроенной области с помощью необязательных атрибутов width и height или с помощью CSS. Обычно размер по умолчанию равен 300px в ширину и 150px в высоту, но, в зависимости от браузера, размер может быть иным. Большинство браузеров по умолчанию отображают содержимое элемента с узкой рамкой, которую можно изменить или удалить с помощью CSS свойства border .
Если содержимое тега превышает размеры элемента, то появляются полосы прокрутки, позволяющие пользователям прокручивать содержимое во встроенной области. Вы можете отключить полосы прокрутки с помощью CSS объявления overflow: hidden , но в этом случае у пользователя не будет возможности увидеть скрытое содержимое.
Атрибуты
height:
Указывает высоту элемента в пикселях.
Пример »
name:
Определяет имя для элемента.Значение этого атрибута может быть использовано для ссылки на элемент в JavaScript, либо в качестве значения для атрибута target элемента или
Значением атрибута может быть либо пустая строка (sandbox=""), это значение указывает, что применяются все ограничения, либо список определенных значений, разделенных пробелами, которые будут снимать конкретные ограничения:
""
- применяет все ограничения, снимаемые перечисленными ниже значениями. Таким образом ограничивая содержимое фрейма влиять на родительский элемент, изолируя страницу, отображаемую во фрейме, в виртуальной песочнице, поэтому любой вредоносный код не сможет нанести вред родительской странице, сайту или компьютеру пользователя.
allow-forms
- разрешает отправку данных форм.
allow-same-origin
- указывает, что информация представленная в iframe имеет тот же источник, что и информация представленная в содержащем его документе.
allow-scripts
- разрешает выполнение сценариев (исключая всплывающие окна).
allow-top-navigation
- разрешает использовать ссылки внутри содержимого iframe для перемещения по содержащему его документу.
Примечание:
атрибут sandbox не поддерживается в IE9 и более ранних версиях, и в Opera.
Seamless:
Указывает, что содержимое iframe должно выглядеть так, словно оно является частью документа (без рамки и полос прокрутки). Возможные значения логического атрибута seamless:
Примечание:
атрибут seamless поддерживается только в Chrome и Safari6+.
Src:
Указывает адрес документа, который будет отображен во встроенном фрейме.
Пример »
width:
Указывает ширину элемента в пикселях.
Пример »
Тег так же поддерживает Глобальные атрибуты и События
Стиль по умолчанию
iframe:focus {
outline: none;
}
iframe {
display: block;
}
Пример
Ваш браузер не поддерживает iframe!