Ramy, ramki i rameczki
Czym są ramki ?

Ramkową strukturą dokumentu nazywamy dokument, który posiada wydzielone poszcególne elementy strony tzn. strona składa się z kilku dokumentów gdzie jeden np. jest wyświetlany stale. Przykładem strony wykorzystującej ramki jest właśnie ten serwis. Zbudowany jest z dwóch ramek, górnej (wyświetlanej stale) oraz dolnej (jej zawartość zmienia się).

Podstawowy dokument z ramkami ma strukturę:

<HTML>
<HEAD>
<TITLE> </TITLE>
<META http-equiv="content-type" content="text/html; charset=iso-8859-2">
</HEAD>
 
  <FRAMESET cols="100, *">
  <FRAME SRC="menu.html" NAME="menu" SCROLLING="no" NORESIZE>
  <FRAME SRC="zawartosc.html" NAME="Ramka2" SCROLLING="auto">
  </FRAMESET>
 
</HTML>

Powyższy przykład dzieli ekran na dwie pionowe części. Tą operacje spowodował parametr cols="100, *". Pierwsza część posiada szerokość 100 pixeli zaś druga pozostałą część ekranu. Możemy także szerokość poszczególnych kolumn wyrażać w procentach np. tak:

<FRAMESET cols="30%, 35%, *">

No dobrze, ale co zrobić jeżeli chcemy stronę podzielić na poziome rzędy. Odpowiedz jest bardzo prosta. Wystarczy właściwość cols zamienić na ROWS.

<FRAMESET ROWS="100, *">

Wewnątrz znaczników <FRAMESET> </FRAMESET> wstawia się tagi <FRAME> deklarują one poszczególne ramki. Jeżeli w sekcji frameset we właściwośći COLS podaliśmy trzy parametry dalej muszą znaleść się trzy znaczniki <FRAME>

Wspomniany tag posiada dodatkowe parametry. Podstawowym z nich jest parametr SRC

<FRAME SRC="nazwa_pliku.html">

Deklaruję on plik który ma zostać załadowany do danej części. Kolejną ważną deklaracją jest właściwość NAME. Dzieki niej będziemy mogli wskazać do której ramki ma zostać załadowany plik.

<FRAME NAME="nazwa">

W dalszej części zadeklarowaliśmy opcję SCROLLING. Może ona przyjmować następujące właściwości: "yes", "no", "auto". SCROLLING="yes" spowoduje, że przewijanie będzie wyświetlane, "no" - że nie będzie wyświetlane, zaś "auto", że będzie wyświetlane w razie potrzeby. Jeszcze jedną właściwością jest NORESIZE. Dostawiona zablokuje możliwość zmieniania rozmiaru ramki.

Często na stronach internetowych spotyka się podział strony zarówno na dwie kolumny, jak i na rzędy poziome. Cała sztuczka polega na tym, że zamiast deklaracji kolumny podajemy deklarację rzędu:

<FRAMESET COLS="100, *">
  <FRAME SRC="menu1">
  <FRAMESET ROWS="50, *">
    <FRAME SRC="menu1">
    <FRAME SRC="menu1">
  </FRAMESET>
</FRAMESET>

Jak załadować stronę do ramki ?

Załóżmy, że storzyliśmy plik index.html który posiada strukturę ramkową:

<FRAMESET cols="100, *">
  <FRAME SRC="menu.html" NAME="menu" SCROLLING="no" NORESIZE>
  <FRAME SRC="zawartosc.html" NAME="Ramka2" SCROLLING="auto">
</FRAMESET>

Chcielibyśmy teraz, aby po kliknięciu na link z dokumentu menu.html nowa strona została wyświetlona w ramce - Ramka2. I tu trzeba wrócić pamięcią do tworzenia odsyłaczy i właściwości TARGET. Przykładowy link mógłby wyglądać następująco:

<A HREF="linki" TARGET="Ramka2">Kilka linków</A>
Spowoduje to wspomniany wcześniej efekt.

Obiecywałem, że powrócę do właściwości TARGET więc powracam. Nadanie temu parametrowi opcji "_blank" spowoduje, że strona zostanie wyświetlona w nowym oknie. Właściwość "_self" działa tak jakby właściwość target nie została zastosowana, czyli powoduje, że strona zosanie wyświetlona w tej samej ramce. Zastosowanie kodu:

<A HREF="link" Target="nazwa">link</A>

spowoduje że link zostanie wyświetlony w ramce podanej w miejsce "nazwa".


Autorem tekstu jest: Michał Siudziński
http://cpw.net.pl
Materiał dodany przez użytkownika: alphan