1. Ramki - gim11.tychy.pl
Transkrypt
1. Ramki - gim11.tychy.pl
1 Ramki HTML <html> 1. Ramki Najbardziej elastycznym sposobem budowania stron jest uŜycie ramek. Ułatwiają one nawigowanie w wielostronicowych dokumentach HTML, poprzez podział ekranu na kilka obszarów. KaŜdy z nich zawiera własną niezaleŜną stronę. Struktura ramki jest przechowywana w oddzielnym pliku HTML, który zamiast znacznika <BODY> posługuje się znacznikiem <FRAMESET>...</FRAMESET> określającym liczbę i wielkość ramek. <HTML> <HEAD> <TITLE>Tytuł strony</TITLE> </HEAD> <FRAMESET> tu rozpoczyna się definicja ramki </FRAMESET> </HTML> Definiując układ ramek za pomocą znacznika <FRAMESET> naleŜy dołączyć do definicji jeden z atrybutów znacznika: COLS lub ROWS. Atrybut COLS informuje przeglądarkę, by podzieliła ekran na odpowiednią liczbę pionowych ramek (kolumn), których szerokości zdefiniowane są poprzez kolejne wartości atrybutu, oddzielone przecinkami. <FRAMESET COLS="szerokość kolumny, szerokość kolumny, ..."> Szerokość ramki moŜe być wprowadzona na kilka sposobów: • • • bezpośrednio w pikselach, np. 100; w procentach względem całkowitej szerokości układu ramek, np. 20%; za pomocą znaku "*", będącym dopełnieniem do pozostałej szerokości okna. Za pomocą atrybutu ROWS moŜemy dokonać podziału ekranu w poziomie. Odpowiedni kod powinien wyglądać następująco: <FRAMESET ROWS="wysokość wiersza, wysokość wiersza, ..."> Po zdefiniowaniu układu ramek naleŜy za pomocą znacznika <FRAME>, który nie posiada odpowiednika zamykającego, przypisać jakiś dokument HTML. Aby przypisać ramce dokument, musimy podać źródło dokumentu. NaleŜy w tym celu uŜyć konstrukcji: <FRAME SRC="nazwa_pliku.html"> Andrzej Mazur – [email protected] 2 Ramki HTML <HTML> <HEAD> <TITLE>Ramki</TITLE> </HEAD> <FRAMESET COLS="35%,*,*"> <FRAME SRC="dokument1.html"> <FRAME SRC="dokument2.html"> <FRAME SRC="dokument3.html"> </FRAMESET> </HTML> <html> Taka definicja powinna pojawić się dla kaŜdej z ramek utworzonych za pomocą znacznika <FRAMESET>. Znacznik <FRAME> posiada szereg atrybutów, których opis zamieszczono w tabeli 8. Tabela 8 Opis atrybutów znacznika <FRAME> Atrybut Wartość Znaczenie SCROLLING AUTO Domyślnie, jeśli zawartość ramki zajmuje większy obszar niŜ obszar udostępniany przez ramkę, przeglądarka automatycznie wyposaŜa ramkę w paski przewijania, aby uŜytkownicy przewijając zawartość mieli dostęp do całego dokumentu. SCROLLING NO Brak pasków przewijania. UŜytkownik moŜe nie mieć dostępu do ukrytej części dokumentu, jeŜeli ta nie zmieści się w obszarze ramki. SCROLLING YES Paski przewijania wyświetlane są w ramce zawsze, niezaleŜnie od potrzeb. NORESIZE brak Domyślnie uŜytkownicy mogą zmieniać rozmiary ramek. Za pomocą tego atrybutu moŜna temu zapobiec. MARGINHEIGHT piksele Określa szerokość marginesu, który pojawia się nad i pod ramką (w pikselach). MARGINWIDTH piksele Określa szerokość marginesu, który pojawia się z prawej i lewej strony ramki (w pikselach). źródło: materiały własne Andrzej Mazur – [email protected] 3 Ramki HTML <HTML> <HEAD> <TITLE>Tytuł strony</TITLE> </HEAD> <FRAMESET COLS="*,*"> <FRAME SRC="dokument1.html"> <FRAME SRC="dokument2.html"> </FRAMESET> <NOFRAMES> <BODY> Tu wprowadź dowolny tekst, połączenia i znaczniki. </BODY> </NOFRAMES> </HTML> <html> Jeśli określona przeglądarka nie obsługuje ramek, wówczas pomijana jest zawartość znacznika <FRAMESET> i wyświetlana jest zawartość znacznika <NOFRAMES>...</NOFRAMES>. Tekst zawarty między znacznikami <NOFRAMES>...</NOFRAMES>, nie będzie wyświetlany przez przeglądarki, które obsługują ramki. Pojawi się on jedynie tam, gdzie obsługa ramek jest niemoŜliwa. 2. Zmiana obramowań Wszystkie ramki utworzone za pomocą znacznika <FRAME> mają szerokie obramowania. Korzystając z atrybutów FRAMEBORDER i BORDERCOLOR, moŜna stosować obramowania lub z nich zrezygnować oraz definiować ich kolor. Wartością atrybutu BORDERCOLOR moŜe być angielska nazwa koloru lub wartość heksadecymalna, która go definiuje. Atrybut FRAMEBORDER przybiera dwie wartości YES i NO. Oba atrybuty mogą być stosowane takŜe ze znacznikiem <FRAMESET>. UmoŜliwiają one definiowanie domyślnych wartości dla całego układu ramek, pomimo iŜ HTML 4.0 nie uwzględnia ich jako atrybutów tego znacznika. 3. Tworzenie złoŜonych układów ramek To z czym zapoznałeś się w poprzednim rozdziale umoŜliwia tylko tworzenie prostych typów ramek. Na rysunku poniŜej przedstawiony jest układ, w którym górna część ekranu podzielona jest na dwie pionowe ramki, natomiast trzecia, umiejscowiona u dołu ekranu rozciąga się na całą jego szerokość. Rysunek 1 Przykład złoŜonej ramki Cała sztuka polega na tym, Ŝe najpierw dzielimy (w naszym konkretnym przykładzie) stronę na wiersze, a następnie w drugim deklarujemy dodatkowy podział na kolumny. Andrzej Mazur – [email protected] 4 Ramki HTML <FRAMESET ROWS="*,80"> <FRAME SRC="dokument1.html"> <FRAME SRC="dokument2.html"> </FRAMESET> <html> Musimy zatem rozpocząć definiowanie od układu ramek z zastosowanym atrybutem ROWS (podział na wiersze). <!-- ramka wiersza 1 --> <!-- ramka wiersza 2 --> Spowoduje to podzielenie ekranu na dwie sekcje: małą ramkę o wysokości 80 pikseli umieszczoną u dołu ekranu i duŜą ramkę zajmującą pozostałą górną część. Znaczniki <FRAME> definiują zawartość kaŜdej z ramek. ZagnieŜdŜanie znaczników <FRAMESET> Kolejny krok to podzielenie w pionie górnej ramki na dwie. Chcąc osiągnąć ten efekt musimy umieścić drugi element <FRAMESET> w podstawowym bloku <FRAMESET>. Aby zagnieździć jeden element <FRAMESET> w innym, zagnieŜdŜany znacznik musi zastąpić jeden ze znaczników <FRAME> nadrzędnego układu ramek. <FRAMESET ROWS="*,80"> <FRAMESET COLS="70,*"> <FRAME SRC="dokument1.html"> <!-- ramka wiersza 1 --> <FRAME SRC="dokument2.html"> </FRAMESET> <FRAME SRC="dokument3.html"> <!-- ramka wiersza 2 --> </FRAMESET> Atrybut COLS osadzonego układu ramek definiuje dwie kolumny - jedną o szerokości 70 pikseli i drugą, która zajmuje pozostałą jego szerokość. Ponadto, pomiędzy znacznikami <FRAMESET> i </FRAMESET> osadzone są dwa znaczniki <FRAME>, które definiują zawartość kaŜdej z kolumn. Dokument 1. Dokument 2. Dokument 3. Rysunek 2 Przykład złoŜonej ramki z osadzonymi dokumentami Andrzej Mazur – [email protected] Definiowanie nazw poszczególnych ramek <html> 5 Ramki HTML Teraz powinniśmy się zastanowić, co zrobić, aby kliknięcie na odsyłaczu w jednej ramce automatycznie ładowało odpowiednią stronę w innej ramce. Jest to kluczowa sprawa, jeśli chcemy wykorzystać ramki w dokumentach. Cel ten moŜna osiągnąć rozpoczynając od nadania wszystkim ramkom nazw. <FRAMESET ROWS="*,80"> <FRAMESET COLS="70,*"> <FRAME SRC="dokument1.html" NAME="spis"> <FRAME SRC="dokument2.html" NAME="pokaz"> </FRAMESET> <FRAME SRC="dokument3.html" NAME="stopka"> </FRAMESET> Tworzenie połączeń między ramkami a dokumentami Chcąc skierować dokument do określonego okna, naleŜy do znacznika <A> dodać atrybut TARGET. Atrybut ten ma za zadanie wskazać ramkę, do której ma być załadowany dokument. Dokument 1. <UL> <LI><A HREF="nowa1.html" TARGET="pokaz">Odnośnik 1</A> <LI><A HREF="nowa2.html" TARGET="pokaz">Odnośnik 2</A> <LI><A HREF="nowa3.html" TARGET="pokaz">Odnosnik 3</A> </UL> Dokument 1. Dokument 2. • Odnośnik 1 • Odnośnik 2 • Odnośnik 3 Dokument 3. Rysunek 3 Przykładowe połączenie między ramkami Warto jeszcze zwrócić uwagę na zastrzeŜone nazwy atrybutu TARGET. Atrybut ten moŜe przyjmować pewne specjalne wartości, których opis przedstawia tabela 9. Andrzej Mazur – [email protected] 6 Ramki HTML Tabela 9 Opis wartości atrybutu TARGET Znaczenie TARGET="_blank" przywoływany dokument zostanie załadowany do nowego, pustego okna (uruchomi nową kopię przeglądarki). TARGET="_self" (przypadek domyślny) nowy dokument zamieni w ramce dokument, z którego dokonujemy skoku. TARGET="_parent" przywoływany dokument zamieni dokument nadrzędny w hierarchii do bieŜącego dokumentu. TARGET="_top" przywoływany dokument zostanie wstawiony na miejsce dokumentu pierwszego w hierarchii naszych skoków, a więc na samą "górę". źródło: materiały własne <html> Atrybut Szczególnie przydatny i często stosowany jest ten ostatni atrybut. UŜycie "_top" pozwoli uniknąć dość kłopotliwej sytuacji, gdy do ramki jest ładowany dokument, który sam składa się z ramek. "_top" usuwa więc wszelkie istniejące ramki i wyświetla dokument "na czysto". Naturalnie moglibyśmy tutaj z powodzeniem uŜyć "_blank", ale pozbawiamy się w ten sposób "historii" skoków. 4. Ramki lokalne Ramki lokalne (pływające) tworzone są za pomocą znacznika <IFRAME>...</IFRAME>. Klasyczne ramki pozwalają dzielić ekran przeglądarki na odrębne okna. Pływająca ramka jest ramką umieszczoną w dowolnym miejscu strony i jest prostsza w konstrukcji, gdyŜ ogranicza się w zasadzie do jednego polecenia: <IFRAME SRC="dokument.html" WIDTH="200" HEIGHT="200"> To jest ramka lokalna </IFRAME> Znacznik ten posiada kilkanaście kluczowych atrybutów, z których kilka jest rozszerzeniem przeglądarki Internet Explorer. Pozostałe są zgodne ze specyfikacją HTML 4.0. Pływające ramki są interpretowane obecnie przez przeglądarki: Internet Explorer, Mozilla Firefox i Opera. Opis atrybutów przedstawiono w tabeli 10. Andrzej Mazur – [email protected] 7 Ramki HTML Tabela 10 Opis atrybutów znacznika <IFRAME> Znaczenie WIDTH określa szerokość (w pikselach) ramki lokalnej HEIGHT określa wysokość (w pikselach) ramki lokalnej SRC określa adres URL dokumentu HTML, który będzie wyświetlony w ramce NAME określa nazwę ramki, umoŜliwiając tworzenie połączeń FRAMEBORDER wskazuje, czy wokół ramki ma być wyświetlone obramowanie, wartość 1 - obramowanie występuje, wartość 0 - obramowania brak BORDER określa szerokość obramowania w pikselach* BORDERCOLOR określa kolor obramowania* FRAMESPACING określa odstęp między krawędziami ramek (w pikselach)* MARGINWIDTH definiuje szerokość marginesu (w pikselach) MARGINHEIGHT definiuje wysokość marginesu (w pikselach) NORESIZE wskazuje, Ŝe uŜytkownik nie ma moŜliwości zmiany rozmiarów ramki* SCROLLING wskazuje, czy mają być wyświetlane paski przewijania - wartości YES, NO lub AUTO (domyślna) VSPACE definiuje wysokość marginesu* HSPACE definiuje szerokość marginesu* ALIGN określa umiejscowienie ramki względem linii tekstu - wartości: LEFT, MIDDLE, RIGHT, TOP i BOTTOM (domyślna) * Rozszerzenie Internet Explorer źródło: materiały własne Andrzej Mazur – [email protected] <html> Atrybut