Jeszcze kilka lat temu ramki były bardzo popularnym sposobem na tworzenie layoutu stron internetowych. Dzięki nim bardzo łatwo można było podzielić strony na główne bloki, takie jak nagłówek, menu, treść strony oraz stopka. Z czasem jednak okazało się, że używanie ramek niesie ze sobą wiele niedogodności…
Mnogość plików
Strony oparte na ramkach zbudowane są z wielu plików HTML. Jeden plik opisuje budowę strony (jej podział na wspomniane wcześniej bloki), pozostałe zaś zawierają treść, która ma zostać umieszczona w poszczególnych ramkach. Gdy budujemy stronę z użyciem XHTML-a, musimy pamiętać, że strona definiująca budowę ramek zawiera inna linijkę określająca DOCTYPE, niż strony tworzone przez nas do
tej pory. Oto poprawne DOCTYPE dla stron opartych na ramkach:
- Reklama -
</pre>
Dla przypomnienia, DOCTYPE dla typowej strony zbudowanej w XHTML-u Transitional to:
</pre>
Pierwsze ramki
Strona definiująca ramki ma następujący szkielet:
Ramki
...
Brakuje tu bloku {html}
{/html}, zamiast niego pojawił się natomiast blok {html}
Ramki osadzone w dokumentach HTML
Poza poznanymi już ramkami istnieje jeszcze jeden ich rodzaj – ramki, które można osadzić w dowolnej stronie HTML. Są to ramki {html}{/html} – nazywa się je czasami ramkami pływającymi. Znacznik {html}{/html} przyjmuje następujące parametry:
src – adres strony, która ma zostać wyświetlona w ramce,
name – określa nazwę ramki – można ja wykorzystać w odnośnikach, w przedstawiony wcześniej sposób,
frameborder – określa czy wokół ramki ma być wyświetlone obramowanie – wartość 1 oznacza że tak, 0 że nie,
marginwidth – parametr ten służy do określenia wysokości odstępu pomiędzy treścią zawartą w ramce a jej obramowaniem,
marginheight – parametr ten służy do określenia szerokości odstępu pomiędzy treścią zawartą w ramce a jej obramowaniem,
noresize – blokuje możliwość zmiany rozmiaru ramki przez czytelnika,
scrolling – określa sposób, w jaki maja zostać wyświetlone paski przewijania (autom, yes, no).
Przykład wykorzystania ramki tego typu na stronie internetowej, może wyglądać następująco (rys. 3):
Dlaczego nie używać ramek?
Na początku nadmieniłem, że nie zaleca się dziś budowy stron opartych na ramkach. Ale dlaczego, skoro najwyraźniej ułatwiają one organizacje witryny? Powodów jest wiele.
Oto kilka najważniejszych:
użytkownik nie może dodać strony opartej na ramkach do Ulubionych – zamiast strony, która aktualnie ogląda, doda mu się zawsze strona główna (zawierająca szablon opisujący rozmieszczenie ramek), wiec zmuszamy go tym samym do ciągłego szukania interesującej go informacji na naszej stronie,
wyszukiwarki internetowe indeksując poszczególne podstrony najczęściej skutecznie niweczą prace jaka włożyliśmy w projektowanie ramek – odsyłają one użytkownika do konkretnych stron, które my chcielibyśmy wyświetlać ramce, w związku z tym użytkownik odesłany do interesującej go informacji, może łatwo zostać pozbawiony menu, topu czy nagłówka, czyli zostanie zupełnie odcięty od
nawigacji,
wspomniany już problem przeglądarek, które nie radzą sobie ze stronami opartymi na ramkach.
Po co wiec przedstawiłem budowę ramek? Ponieważ są one częścią HTML-a, a ponadto spotykając gdzieś ramki (czy to w internecie, czy w jakiejś książce) możemy być nieświadomi zagrożeń jakie ze sobą niosą i zacząć ich używać. Jedyna ramka, której dziś jeszcze powszechnie się używa jest
{html}{/html}. Wykorzystywana jest przez skrypty JS do generowania tzw. edytorów WYSIWYG