Понятие кадров
Контейнер <FRAMESET>. Определение параметров кадров
Тэг <FRAME> и его атрибуты
Рамка кадра
Определение имени кадра и ссылки на кадр
Как правильно дать имя кадру
Понятие кадров
Впервые появившиеся в программе Netscape
Navigator 2.0 кадры HTML помогают разбить страницу на
независимые (даже с прокруткой) окна, выводящие
информацию различных типов. Кадры во многом
похожи на таблицы HTML, но, в
отличие от последних, не только организовывают
данные, но и размещают их на экране дисплея. Они
делят окно браузера на отдельные независимые
панели, каждая их которых выводит свой файл.
Другими словами, каждая такая панель
представляет собой “мини-браузер”.
Контейнер <FrameSet>. Определение параметров кадров
Кадр должен быть расположен в
контейнере FRAMESET,
который занимает место контейнера BODY. HTML документ, имеющий структуру FRAMESET, не имеет
структуры BODY,
и наоборот.
Парный тэг <FRAMESET></FRAMESET>
используется при определении каждого кадра.
Внутри этого контейнера могут располагаться
только тэг <FRAME> или другие контейнеры FRAMESET.
Тэг <FRAMESET> имеет два
главных атрибута: ROWS и COLS. Общий вид контейнера FRAMESET выглядит
следующим образом.
<FRAMESET ROWS= “vаlue_list”
COLS= “value_list”> </FRAMESET>.
Можно определить любое количество рядов
или столбцов; необходимым условием является
указание хотя бы одного из атрибутов ROWS или COLS.
Строка “vаlue_list” представляет собой список значений
в пикселах, процентах или относительных
единицах, разделенных запятыми. Количество рядов
или столбцов кадров определяется числом этих
значений. Например
<FRAMESET ROWS= “100, 240, 140”>
указывает на сетку кадров из трех рядов,
высота которых 100, 240 и 140 пикселов соответственно.
Однако установка высоты кадров в
пикселах является плохой практикой, так как не
учитывается тот факт, что окна браузеров могут
иметь разный размер. В абсолютных единицах стоит
указывать размеры кадра лишь для маленьких
изображений, в остальных же случаях стоит
пользоваться относительными величинами,
например:
<FRAMESET ROWS= “25%, 50%, 25%”>
что создает три кадра по 25%, 50% и 25% от высоты
окна браузера. Относительно точности указания в
процентах можно не волноваться: если сумма не
равна 100%, масштаб кадров будет пропорционально
изменен.
Задание параметров кадров в
относительных единицах выглядит следующим
образом:
<FRAMESET COLS= “*, *2, *3”>
где символ * означает пропорциональное
деление окна программы просмотра. Таким образом,
окно будет разделено на три вертикальных кадра,
первый из которых будет иметь ширину в 1 /6, второй в 2/6 и
третий в 3/6 от ширины окна
браузера. Единица при указании относительных
значений может быть опущена.
Указание значений атрибутов ROWS и COLS может быть и смешанным, например:
<FRAMESET COLS= “100, 25%, *, *2”>
Здесь первому кадру присвоено
абсолютное значение в 100 пикселов по ширине,
второму - 25% от ширины окна. Оставшееся
пространство делится между третьим и четвертым
кадрами в пропорции 1 /3 к 2/3.
Приоритеты в указаниях значений
атрибутов следующие: в первую очередь слева
направо отводится место для кадра с абсолютным
значением, затем - для кадра со значением в
процентах, а в последнюю очередь - для кадров с
относительными величинами.
При определении обоих атрибутов,
например:
<FRAMESET ROWS= “*, *2, *” COLS= “2*,
*”>
получается сетка кадров из трех рядов и
двух столбцов. Первый и последний ряды занимают
по 1/4, второй ряд - половину от
высоты окна. Первый столбец размещается на 2/3, а второй - на 1/3
окна браузера.
Контейнеры FRAMESET могут вкладываться друг в друга.
Тэг<Frame> и его атрибуты
Тэг <FRAME> определяет отдельный кадр. В общем
виде определение кадров идет слева направо и
сверху вниз. Тэг <FRAME>
должен располагаться внутри контейнера FRAMESET. Например:
<FRAMESET ROWS= “*, 2*”>
<FRAME>
<FRAME>
< /FRAMESET >
Тэг <FRAME> не является
контейнером. Число тэгов <FRAME> должно быть равно числу кадров,
определенных в контейнере <FRAMESET
>. В примере определено два
кадра, поэтому контейнер содержит
соответствующее число тэгов <FRAME>. В общем виде определение кадров
идет слева направо и снизу вверх. Пока эти кадры
ничем не заполнены.
Тэг <FRAME> располагает шестью атрибутами: SRC, NAME, MARGINWIDTH,
MARGIMHEIGHT, SCROLLING и NORESIZE.
Синтаксис использования этих атрибутов
следующий:
<FRAME SRC=“url” NAME=“window_name” MARGINWIDTH=“value”
MARGIMHEIGHT=“value” SCROLLING=YES|NO|AUTO NORESIZE>
“url” определяет URL - адрес
содержимого кадра. Это обычно файл HTML - документа, расположенный в том же
каталоге, что и документ, содержащий контейнер FRAMESET.
Атрибуты MARGINWIDTH и MARGIMHEIGHT позволяют контролировать ширину
внутренней границы кадра. Значения атрибутов
задаются в абсолютных цифрах (пикселах),
например:
<FRAME MARGINWIDTH=“5”
MARGIMHEIGHT=“7”>
что создает внутреннюю рамку на верхней
нижней границе кадра шириной в 5 пикселов, а на
левой и правой границе - шириной в 7 пикселов.
Внутри этой рамки данные выводиться не будут. Эти
атрибуты не имеют ничего общего с рамкой кадра,
определяемой браузером либо задаваемой при
помощи атрибута BORDER.
К построенным кадрам автоматически
добавляются полосы прокрутки, если содержание
кадра больше его размера. Иногда это может
нарушить эстетику страницы, поэтому
предусмотрен атрибут SCROING, принимающий одно из трех значений: YES, NO и AUTO. Последнее значение
подразумевается по умолчанию. Если указано
значение YES,
полоса прокрутки появится в любом случае,
значение NO
запрещает появление полосы.
По умолчанию размеры кадров могут легко
изменяться читателями, однако понятно, что это
может сильно нарушить авторский замысел. В этом
случае нужно использовать атрибут NORESIZE, запрещающий
возможность “перекраивания” страницы.
Рамка кадра
Для определения рамки кадра в HTML существуют три атрибута: BORDER, FRAMEBORDER и BORDERCOLOR. Первый из этих атрибутов
используется только с тэгом <FRAMESET> и устанавливает ширину всех рамок
для всех кадров контейнера. Эта величина
указывается в пикселах. Если атрибут равен нулю,
все кадры контейнера будут без рамок.
Атрибут FRAMEBORDER используется с тэгами <FRAMESET> и <FRAME> и может
принимать два значения: YES и NO. В первом случае рамка имеет
трехмерную форму, во втором случае рамка
невидима, то есть имеет цвет фона окна браузера,
устанавливаемого по умолчанию.
По умолчанию атрибут FRAMEBORDER
имеет значение YES. Рамка кадра будет невидимой, если
значение NO установлено для
всех кадров, смежных с ним.
Атрибут BORDERCOLOR может использоваться с тэгами <FRAMESET> и <FRAME>. Ему может
быть присвоено стандартное имя цвета или RGB - значение.
Определение имени кадра и ссылки на кадр
Для определения имени кадра служит
атрибут NAME.
Например, строка
<FRAME SRC= “info.htm” NAME= “Joe”>
создает кадр по имени “Joe”, на который
можно сделать гипертекстовую ссылку следующим
образом:
<A HREF= “moreinfo.htm” TARGET= “Joe”>
Click here to jump to Joe </A>
Атрибут TARGET гипертекстовой ссылки содержит имя
кадра. При активизации этой ссылки содержимое
кадра “Joe”, т.е. файл info.htm, размещенный в нем при создании,
будет заменен файлом moreinfo.htm.
Заметьте, что если атрибут TARGET отсутствует, файл moreinfo.htm будет выведен в том же окне или
кадре, где находится указатель ссылки. Атрибут TARGET как раз и
предназначен для указания “цели” - кадра, в
котором должен быть размещен файл, определенный
атрибутом HREF.
Этот принцип замены файлов в одном кадре при
управлении этим процессом из другого кадра и
лежит в основе навигации по сайту.
Как правильно дать имя кадру
Если кадру не присвоить имени, на него
нельзя будет ссылаться. Поэтому всем кадрам,
содержание которых планируется менять, должны
быть даны правильные имена.
Имена кадров должны начинаться с
алфавитно-цифрового символа. Имена не должны
начинаться с символа подчеркивания, так как он
является первым символом зарезервированных имен
кадров (см. таблицу ). Все
остальные имена, начинающиеся указанным
символом, игнорируются.
Имя |
Назначение |
_blank |
Загружает
указанный файл в новое окно без названия |
_self |
Загружает
указанный файл в кадр, откуда делается вызов |
_parent |
Загружает
указанный файл в старший (родительский) кадр
сетки кадров. Если такой кадр не определен, это
результат действия аналогичен _sеIf |
_top |
Загружает
указанный файл в полное окно, разрушая всю
структуру кадров |
Ниже приведены несколько примеров,
поясняющих использование зарезервированных
имен кадров.
Если в кадре определена ссылка
<A HREF= “stuff.htm” TARGET= “_blank”>
то ее активизация приведет к открытию
нового, не имеющего названия, окна браузера и
выводу в него содержимого файла stuff.htm. Это может быть новый HTML-документ, либо
определение новой сетки кадров.
Строка
<А HREF= “stuff.htm” TARGET= “_self”>
указывает на то, что при активизации
ссылки кадр, в котором она расположена, будет
очищен, и в него будет выведен файл stuff.htm.
Если кадр содержит ссылку
<А HREF= “stuff.htm” TARGET= “_parent”>
то при активизации ссылки сетка кадров,
к которой принадлежит вызывающий кадр, будет
заменена содержимым stuff.htm.
И, наконец, строка
<А HREF= “stuff.htm” TARGET= “_top”>
означает, что при активизации ссылки все
окно браузера будет заменено содержимым
stuff.htm.
|