Размещение элементов на веб-странице и навигация по сайту
Навигация между фреймами
А теперь давайте рассмотрим чуть более сложный пример. Попытаемся наконец, организовать полную навигацию по сайту гипотетической фирмы “Лентяй”, отдельные части которого мы создали в предыдущих главах. Здесь в правой части имеются гиперссылки на различные разделы сайта, но при создании примера эти гиперссылки не действовали. А ведь по крайней мере три из них могут действовать, поскольку три раздела: “Услуги”, “Цены” и “Книга отзывов” уже созданы!
Для реализации полной навигации мы в этом разделе будем использовать фреймы, хотя это не единственное решение. (Более изящное решение на основе позиционирования будет предложено в конце этой главы.)
Прежде всего, нам придется выделить в отдельные файлы заголовок и блок гиперссылок. Кроме того, чтобы пользоваться одинаковыми стилями г нескольких HTML-файлах сразу, мы не будем дублировать таблицу стилей в каждом из файлов, а тоже выделим ее в отдельный файл. Назовем и, его lent.css. Давайте вначале взглянем на его содержимое:
BODY {
background
-
color:
#D2FFFF
;
color:
#003737
;
background
-
image: url(
"Images\grad2.jpg"
);
background
-
position: right;
background
-
repeat: repeat
-
y;
}
A:link,
A:active,
A:visited {
color:
#006A6A
;
}
A:hover {
font
-
weight: bold;
text
-
decoration: none;
}
.hdr {
position: absolute;
left:
50px
;
top:
10px
;
text
-
align: center;
font
-
family: OdessaScriptFWF, fantasy;
font
-
size:
60px
;
font
-
weight:
900
;
width:
90
%
;
height:
100px
;
letter
-
spacing:
0.05em
;
line
-
height:
100px
;
filter: shadow;
border:
10px
outset
#003163
;
color:
#3163CE
;
}
.rght {
font
-
size: large;
}
.Ink {
border
-
width: thick;
border
-
style: ridged;
margin:
10px
;
padding:
5px
;
border
-
color:
#319CFF
;
background
-
image: url(
"Images\backlnkl.jpg"
);
color: red;
text
-
align: center;
}
.Ink A:link,
.Ink A:visited {
text
-
decoration: none;
color: white;
}
.Ink A:active {
text
-
decoration: none;
color: red;
}
lft {
font
-
size: meduim;
}
.bigger {
font
-
size: larger;
font
-
family: sans
-
serif;
}
.logo {
position: absolute;
left:
70
;
top:
120
;
z
-
index:
-
5
;
}
Как видите, эта таблица стилей очень похожа на ту, однако в нее пришлось внести некоторые изменения. Поскольку все разделы будут теперь располагаться в отдельных фреймах, отпадает необходимость в позиционировании, поэтому для классов Ift и rght свойства position, left, top, width и height мы вообще не опре делили. Кроме того, изменена позиция (свойства left и top) логотипа, то есть класса logo. Для выделения красным цветом ссылки на текущий раз дел (то есть тот, который в данный момент просматривает пользователь) пришлось добавить псевдокласс .Ink Aactive.
Теперь давайте напишем главный документ, определяющий набор фреймов. После изучения предыдущего раздела это не составит никакого труда – он будет в точности таким же, как в предыдущем примере, только имена файлов и названия фреймов изменятся. Кроме того, для верхнего фрейма придется выделить чуть больше места (150 пикселов), а для правого ниж – него фрейма (блока ссылок) определить фиксированную ширину 200 пикселов.
<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.0 Frameset//EN"
>
<
HTML
>
<
HEAD
>
<
TITLE
>
Фирма
"Лентяй"
<
/
TITLE
>
<
/
HEAD
>
<
FRAMESET
ROWS
=
"150,"
FRAMESPACING
=
"0"
FRAMEBORDER
=
"0"
>
<
FRAME
SRC
=
"lenthdr.html"
NAME
=
"header"
FRAMEBORDER
=
"0"
SCROLLING
=
"no"
>
<
FRAMESET
COLS
=
"*,200"
FRAMESPACING
=
"0"
FRAMEBORDER
=
"0"
>
<
FRAME
NAME
=
"main"
SRC
=
°
"main.html"
FRAMEBORDER
=
"0"
NORESIZE
>
<
FRAME
NAME
=
"link"
SRC
=
"lentlink.html"
FRAMEBORDER
=
"0"
NORESIZE
>
<
/
FRAMESET
>
<
/
FRAMESET
>
<
/
HTML
>
Теперь создадим файл заголовка lenthdr.html. Собственно говоря, он будет очень коротким, поскольку в нем не должно быть ничего, кроме заголовка, написанного классом hdr, уже определенным в файле lent.css. Надо только не забыть подключить файл таблицы стилей с помощью тега <LINK>:
<
LINK
REL
=
"stylesheet"
HREF
=
"lent.css"
>
Взглянем на текст этого файла целиком.
<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
>
<
HTML
>
<
HEAD
>
<
TITLE
>
Фирма
"ЛЕНТЯЙ"
<
/
TITLE
>
<
LINK
REL
=
"stylesheet"
HREF
=
"lent.css"
>
<
/
HEAD
>
<
BODY
>
<
DIV
CLASS
=
"hdr"
>
Фирма
«
ЛЕНТЯЙ
»
<
/
DIV
>
<
/
BODY
>
<
/
HTML
>
Итак, посмотрим целиком на текст файла lentlink.html.
<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
>
<
HTML
>
<
HEAD
>
<
title
>
Фирма
"ЛЕНТЯЙ"
<
/
title
>
<
LINK
REL
=
"stylesheet"
HREF
=
"lent.css"
>
<
/
HEAD
>
<
BODY
>
<
DIV
CLASS
=
"rght"
>
<
DIV
CLASS
=
"lnk"
>
<
A
HREF
=
"main.html"
target
=
"niain"
>
услуги
<
/
A
>
<
/
DIV
>
<
DIV
CLASS
=
"lnk"
>
<
A
HREF
=
"prices.html"
target
=
"main"
>
цены
<
/
A
>
<
/
DIV
>
<
DIV
CLASS
=
"lnk"
>
<
A
HREF
=
"forml.html"
target
=
"main"
>
ФОРМА ЗАКАЗА
<
/
A
>
<
/
DIV
>
<
DIV
CLASS
=
"lnk"
>
<
A
HREF
=
"history.html"
target
=
"main"
>
История
<
SPAN
STYLE
=
"letter-spacing: 3px;"
>
КОМПАНИЯ
<
/
SPAN
>
<
/
A
>
<
/
DIV
>
<
DIV
CLASS
=
"lnk"
>
<
A
HREF
=
"guestbook.html"
target
=
"main"
>
КНИГА ОТЗЫВОВ
<
/
A
>
<
/
DIV
>
<
/
DIV
>
<
/
BODY
>
<
/
HTML
>