Октябрь 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"