Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подготовка к ПР5.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

1. Установочный файл

Набор фреймов описывается в отдельном (X)HTML -документе, называемом еще установочным, с помощью контейнерного тега <frameset>, в который вкладывают теги <frame>, описывающие отдельные фреймы, а также тег <noframes> с содер­жимым, отображаемым только браузерами, не поддерживающими фреймы. Иначе говоря, установочный файл содержит описание раскладки фреймов - их относи­тельное расположение, размеры, ссылки на содержимое и некоторые другие харак­теристики. В установочном (X)HTML -документе следует указать в дескрипторе <!doctype ...> тип документа, соответствующий фреймовой схеме:

для HTML-документа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 frameset//EN" "http://www.w3.org/TR/HTML4.01/frameset.dtd">

для XHTML-документа:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

В установочном файле обычно опущен тег <body>, но если он присутствует, то <frameset> должен располагаться перед ним. Тег <frameset> не должен находить­ся внутри контейнера <head>. Никакое информационное содержимое (тексты, ссылки, картинки и т. д.), предназначенное для отображения в окне браузера, в ус­тановочном файле не размещают. В противном случае браузер может не создать фреймовой структуры.

Листинг слева иллюстрирует структуру HTML-документа в установочном файле.

Структура XHTML документа отличается только дескриптором < !doctype...>.

2. Теги <frameset>, <frame> и <noframes>

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

Атрибуты тега <frameset>:

  • cols - строка, содержащая сведения о количестве и ширине фреймов при их

горизонтальной раскладке. Ширина задается в трех вариантах:

  • число - в пикселах;

  • число с символом % - в процентах относительно ширины фрейма-контейнера (в случае единственного <frameset>- относительно ширины клиентской области окна браузера);

  • * - вся оставшаяся ширина фрейма-контейнера (клиентской области окна браузера) после задания значений в пикселах и процентах.

Ширину нескольких фреймов задают в виде строки, содержащей значения ширины для каждого фрейма, указанные через запятую, в порядке расположе­ния фреймов слева направо; например атрибут cols="120,30%,*" устанавли­вает ширину трех фреймов, расположенных по горизонтали;

  • rows - строка, содержащая сведения о количестве и высоте фреймов при их вертикальной раскладке; возможные значения такие же, что и у атри­бута cols, но относятся не к ширине, а к высоте; например атрибут rows="120,50%,*" задает разбиение на три фрейма, следующие друг за дру­гом по вертикали;

  • border - толщина рамок (границ) между фреймами в пикселах, задаваемая числом; при значении "0" данного атрибута границы не отображаются;

  • frameborder - указывает, следует ли показывать границы между фреймами:

  • 1 - показывать границы;

  • 0 - не показывать границы;

  • frame spacing - расстояние в пикселах между фреймами;

  • bordercolor - цвет границ между фреймами.

Примеры иллюстрирует следующий листинг

При задании размеров фреймов следует иметь в виду, что между ними распре­деляется все доступное пространство клиентской области браузера. Если сумма заданных значений размеров фреймов отличается от соответствующих размеров клиентской области, то браузер пересчитает ее. Так, если сумма заданных размеров меньше доступной области, то оставшееся пространство будет равномерно распре­делено между фреймами. А если больше, то размеры фреймов будут уменьшены сообразно с их первоначально заданными долями. Поэтому при использовании аб­солютных единиц измерения (пикселов) для точного указания размеров следует хотя бы для одного из фреймов задать размер в виде символа "*".

Если тег <frameset> задает раскладку фреймов, то собственно фреймы описы­ваются с помощью неконтейнерных тегов <frame>.

Атрибуты тега <frame>:

  • src - в качестве значения принимает URL-адрес загружаемого во фрейм ресур­са (например, (X)HTML -документа);

  • name - имя фрейма; значение этого атрибута служит значением атрибута target тега ссылки <а> для указания, в каком фрейме отображать запрашивае­мый ресурс, а также для обращения к фрейму из сценариев;

  • scrolling- определяет, будут ли присутствовать в окне фрейма полосы про­крутки:

  • auto - полоса прокрутки появляется только при необходимости (значение по умолчанию);

  • yes - всегда показывать полосы прокрутки;

  • no - никогда не показывать полосы прокрутки;

  • noresize ="noresize" - запрещает изменять размеры фрейма путем перетаски­вания рамок с помощью мыши (если этот атрибут не задан, то пользователь не может изменять размеры фреймов);

  • frameborder - указывает, следует ли показывать границы со смежными фрей­мами:

  • 1 - показывать границы;

  • 0 - не показывать границы;

  • bordercolor - цвет рамок со смежными фреймами;

  • m arginheight - отступы содержимого фрейма от его верхней и нижней границ в пикселах;

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

Поскольку не все браузеры поддерживают фреймы, рекомендуется предусмот­реть контейнерный тег <noframes>, в который можно вставить сообщение или ссылку на бесфреймовую версию сайта, появляющиеся в окне, если браузер не под­держивает фреймы. Впрочем, здесь можно разместить более пространный текст, содержащий ключевые слова и ссылки на все или только некоторые (избранные) документы вашего сайта, что может помочь поисковым системам его проиндекси­ровать. Однако не следует злоупотреблять этим приемом. Тег <noframes> обычно вставляют в <frameset>, хотя он работает и за пределами последнего.