Октябрь 7, 2005

Сага о фреймах (Часть 2)

Тем не менее, в каких случаях оправдано их применение?

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

Но есть один удачный способ применения фреймов - создание системы помощи для сложных сайтов. В этом случае очень удобно открывать новое окно, где уже и используется фреймовая структура. Это очень похоже на встроенную систему помощи Windows.

Механизм работы фреймов

Если все же решено применять фреймы, то давайте разберемся с тем, как правильно писать HTML-код и работать с ними.

Любая страничка, содержащая фреймы, начинается с написания специальной странички-контейнера, которая сама не показывается, но содержит в себе указания для организации фреймовой структуры и ссылок на участвующие файлы. Вот, как она выглядит:

index.htm - страничка контейнер

<html>
<head>
<title>Frame page</title>
</head>

<frameset cols="160,*">
<frame src="left.htm" name="menu" scrolling=no noresize>
<frame src="right.htm" name="content" scrolling=no noresize>
</frameset>

<noframes>
<p>Ваш броузер не поддерживает фреймы, пожалуйста, обновите его.</p>
</noframes>

</html>

И сразу напишем код для страничек, входящих в фреймовую структуру.

left.htm - страничка, содержащая меню

<html>
<head>
<title>Menu page</title>
</head>

<body>

<a href="topic_1.htm" target="content">topic #1</a><br>
<a href="topic_2.htm" target="content">topic #2</a><br>
<a href="topic_3.htm" target="content">topic #3</a><br>
<a href="topic_4.htm" target="content">topic #4</a><br>

</body>
</html>

right.htm - страничка, в которой будут отображаться основные статьи сайта.

<html>
<head>
<title>Content page</title>
</head>

<body>

<p>Эта страничка будет грузиться по умолчанию, и
на ней обычно размещают приветственный текст.</p>

</body>
</html>

Как можно заметить, страничка-контейнер отличается от обычной лишь тем, что вместо тега <body> мы используем тег <frameset>, в котором непосредственно и определяются фреймы. Но сам по себе он описывает лишь количество и размеры фреймов и не описывает странички, входящие во фрейм. Это можно сделать при помощи тега <frame>. Давайте-ка подробнее разберем наш пример:

<frameset cols="160,*">
<frame src="left.htm" name="menu" scrolling=no noresize>
<frame src="right.htm" name="content" scrolling=no noresize>
</frameset>

В параметре тега <frameset> мы определяем, что страничка будет разделена по вертикали и состоять из двух колонок (если нам нужно разделить окно по горизонтали, то тогда вместо параметра cols, нужно применять параметр rows).

продолжение следует...

Автор:
Источник: Мельников М., Web-studio "Cherry-Design"

Ваш комментарий

Обсудить на форуме?

Подумайте, прежде чем высказать своё мнение. Постарайтесь сделать свой комментарий полезным для других. Не используйте ненормативную лексику. Пользователи, пишущие "от нечего делать" бессмысленные наборы символов, будут блокироваться навсегда.