Реферат: Руководство по программированию на HTML
В этой части мы рассмотрим такую возможность языка HTML, как разбиение окна браузера на несколько частей, в которых отображаются разные HTML-документы.
Окно браузера всегда разбиваются на прямоугольные кадры (традиионно, они называются по-английски, фреймами ). Внешне разбиение напоминает таблицу: кадры выстраиваются в несколько «строк», каждая из которых содержит несколько прямоугольных ячеек, содержащих отдельные HTML-документы. Пример, который содержит 6 различных фреймов, можно увидеть в Frames\F1.html.
Для того чтобы разбить документ на несколько прямоугольников, вместо контейнера BODY нам потребуется записать контейнер FRAMESET (набор фреймов). В теге <FRAMESET> нужно указать на сколько «строк» и «столбцов» разбивается всё окно браузера. Это делается с помощью атрибутов ROWS (строки) и COLS (столбцы). Заметим, что в этих атрибутах недостаточно указать количество строк и столбцов, требуются также их размеры, например в процентах от размеров окна. В примере Frames\F1.html это сделано так: <FRAMESET ROWS="50%,50%" COLS="33%,33%,34%"> (всё окно разбивается на две одинаковые “строки” и на три почти одинаковых столбца).
Внутри контейнера FRAMESET перечисляются HTML-документы, которые нужно поместить в кадры (слева направо, сверху вниз). Это делается с помощью последовательных тегов <FRAME>. Самый важный атрибут тега <FRAME> — это SRC, значением которого является URL документа, помещаемого в этот фрейм, например: <FRAME SRC=”1.html”>.
Размеры фреймов в теге <FRAMESET> можно указывать не только в процентах. Можно также указать из в частях, например <FRAMESET ROWS="*, 2*" COLS="2*, *, 3*"> (по высоте окно условно разбито на 3 части, первая “строка” кадров занимает две из них, вторая — одну, по ширине имеется 6 условных частей, “столбцы” занимают, соответственно, 2, 1 и 3 части).
Другой вариант — указание размеров в точках, например: COLS=”300,100,400”. Возможно и смешанное указание размеров (точки — проценты, точки — части, части — проценты). Можно, например, записать: COLS=”200,30%,70%”, что означает: первый «столбец» всегда имеет ширину 200 точек, независимо от размеров окна, второй занимает 30% от оставшейся части ширины окна, а третий — 70% от этого остатка. Примеры документов, использующих различные способы указания размеров, находятся в файлах Frames\F2.html и Frames\F3.html.
10.2. Управление внешним видом фреймов
Внешний вид фреймов настраивается с помощью атрибутов тегов <FRAME> и <FRAMESET>. Ниже перечисляются эти атрибуты и объясняется их назначение:
1. BORDERCOLOR (для <FRAME> и <FRAMESET>). Управляет цветом границы одного фрейма или всего набора фреймов. Значением является либо название стандартного цвета, либо числовой код (#RRGGBB).
2. BORDER (для <FRAMESET>). Задаёт ширину всех границ, отделяющих фреймы друг от друга. Значение нужно указывать в точках.
3. NORESIZE (для <FRAME>). Этот атрибут не требует значения. Если он присутствует, то пользователь не может перемещать мышью границу соответствующего фрейма.
4. MARGINHEIGHT и MARGINWIDTH (для <FRAME>). Позволяют указать (в точках) размеры отступов от горизонтальной (и вертикальной) границы фрейма до содержимого HTML-документа, лежащего внутри этого фрейма.
5. SCROLLING (для <FRAME>). Когда документ HTML не помещается целиком в отведённый ему фрейм, для возможности просмотра появляются полосы прокрутки фрейма. В атрибуте SCROLLING можно указать, показывать ли полосы прокрутки всегда (значение YES), только когда документ не помещается во фрейм (AUTO), или не показывать никогда (NO).
Примеры использования этих атрибутов есть в файлах Frames\F4.html, Frames\F5.html и Frames\F6.html.
10.3. Вложенные фреймы
При желании можно добиться того, чтобы какой-либо фрейм вместо обычного HTML-документа содержал бы, в свою очередь, набор фреймов. Для этого достаточно вместо тега <FRAME> поместить контейнер <FRAMESET>, в который вложены теги <FRAME>. Пример такой раскладки фреймов можно увидеть в файле Frames\F7.html.
10.3. Гиперссылки и фреймы
HTML позволяет управлять работой гиперссылок так, чтобы документ, на который указывает ссылка открывался не в целом окне, а только в одном фрейме (см. пример Frames\F8.html).
Для того чтобы ссылки работали именно так, нужно выполнить два действия:
1. Фрейму, в который в дальнейшем нужно помещать документ, найденный по ссылке, дают имя. Для этого используют атрибут NAME тега <FRAME>, например: <FRAME NAME=”right”>.
2. При вставке ссылки в HTML-документ другого фрейма в теге <A> указывают атрибут TARGET (цель), значением его является имя фрейма, в который нужно поместить HTML-документ, указанный в HREF, например: <A HREF=”1.html” TARGET=”right”> 1.html </a>.
Кроме имён, которые можно давать собственным фреймам, существуют и стандартные имена, заранее известные браузеру, а именно:
«_self» — позволяет открывать документ по ссылке в том же фрейме, где находилась ссылка
«_top» — открывает документ во всё окно, где находилась ссылка, разрушая при этом всю структуру фреймов
«_parent» — в родительском фрейме; это не совсем то же самое, что _top, поскольку фреймы бывают вложенными; вся структура родительского фрейма разрушается
«_blank» — в новом окне браузера; старое окно (содержащее ссылку) при этом не уничтожается.