Ramki cz.1


Ramki

Na samym początku spróbuję odpowiedzieć na pytanie, czym są ramki. Otóż jest to rozwiązanie, pozwalające w jednym oknie przeglądarki wyświetlić kilka stron. Używając ramek, możesz podzielić okno przeglądarki na kilka części — w zależności od potrzeb — iw nich niezależnie przeglądać dokumenty.

Klasycznym przykładem użycia ramek jest sytuacja, gdy okno przeglądarki dzielimy na dwie części; lewa, mniejsza, część zawiera spis zawartości witryny, natomiast w prawej, większej, widzimy poszczególne strony z treścią. Wybierając jedną z pozycji z lewej części przeglądarki, powodujemy wyświetlenie odpowiedniego dokumentu w prawej części.

Ramki zostały oficjalnie ujęte w specyfikacji języka HTML 4 i są obsługiwane przez główne przeglądarki. Z chwilą wprowadzenia tego rozwiązania projektanci stron podzielili się na dwa obozy: zwolenników i przeciwników ramek. Wynika to z faktu, że ramki mają sporo zalet, jak i wad. Do zalet można zaliczyć m.in.:
■    łatwość rozwiązania nawigacji w obrębie stron,
■    ułatwienie organizacji stron,

a do wad:
■    spowolnienie ładowania strony,
■    brak prostej możliwości dodawania strony do ulubionych,
■    problemy z prawidłowym indeksowaniem strony przesz wyszukiwarki sieciowe,
■    problemy z drukowaniem.

To tylko część wad i zalet ramek, a wymienianie ich wszystkich i tak niczego nie zmieni. Każdy sam musi się przekonać o tym, czy w jego przypadku stosowanie ramek jest konieczne. Moim zadaniem korzystanie z ramek jest ostatecznością i obecnie dzięki znacznie lepszej obsłudze kaskadowych arkuszy stylów oraz stronom generowanym dynamicznie możemy całkowicie zrezygnować z tego rozwiązania.

Niejako z obowiązku w niniejszej książce opisałem, w jaki sposób przygotować stronę wykorzystującą ramki. Proponuję jednak, abyś sięgał po to rozwiązanie w ostateczności.

Konstrukcja ramek składa się z pliku definiującego podział okna przeglądarki na zaplanowaną ilość okien. Plik ten jest zbliżony wyglądem do tradycyjnego, choć mu kilka istotnych różnic. Oto przykład prostego pliku definiującego podział strony na ramki:

<?xml version=”1.0″ encoding=”IS0-8859-2″?>
<!DOCTYPE html PUBLIC „-//W3C//DTD XHTML 1.0 Frameset//EN” „http://www.w3.org/TR/xhtmll/DTD/xhtmll-frameset.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml11 xml :lang=”pl „>
<head>
<meta http-equiv=”content-type” content=”text/html;charset=IS0-8859-2″ /> <title>Przykład witryny z ramkami</title>
<link rel=“Stylesheet” href=”style.css” type=“text/css” />
</head>
<frameset cols=”20%,*%”>
<frame scrolling=”auto” name=”menu” src=”menu.htm” />
<frame scrolling=”auto” name=”opis” src=”opis.htm” />
</frameset>
</html>

tmpa817-1<?xml version=”1.0” encoding=”IS0-8859-2″?>
<!D0CTYPE html PUBLIC „-//W3C//DTD XHTHL 1.0 Frameset//EN”
„http://www.w3.org/TR/xhtmll/DTD/xhtmll-frameset.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”pl”>
<head>
<meta http-equiv=”content-type” content=”text/html;charset=IS0-8859-2“ /> <title>Przykład witryny z ramkami</title>
<link rel=”Stylesheet” href=”style.css” type=”text/css” />
</head>
<frameset rows=”20%,*%”>
<frame scrolling=”auto” name=”menu” src=”menu.htm” />
<frame scrolling-„auto” name-„opis” src=”opis.htm” />
</frameset>
</html>

tmpa817-2Pierwszą różnicą w stosunku do klasycznej strony (bez ramek), która rzuca się w oczy, jest deklaracja DOCTYPE. Sprawa jest jasna i nie wymaga dalszego omawiania.

Miejsce znacznika <body></body> zajmuje znacznik <frameset> </frameset>, który jest odpowiedzialny za deklaracje wyglądu naszych ramek. Otwierającemu znacznikowi <frameset> towarzyszy jeden z dwóch atrybutów: cols=”x,y” albo row-s=”x,y „. Pierwszy odpowiada za definiowanie kolumn, a drugi wierszy. Wartości x,y określają ilość kolumn lub wierszy i mogą być podawane bądź jako ilość pikseli, bądź jako wartość procentowa liczona od wielkości okna przeglądarki. Istnieje też możliwość definiowania tych wartości w taki sposób, jak to przedstawia podany przykład: wówczas musimy zadeklarować pierwszą wartość, natomiast drugą zastępujemy gwiazdką (*), co oznacza, że chcemy użyć całości dostępnej powierzchni. Rozwiązanie takie jest stosunkowo wygodne, gdyż nie musimy znać dokładnych wartości.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *