PHP
Formularze
Jeśli jeszcze niezbyt dobrze rozumiesz formularze, specjalnie dla Ciebie napisałem ten przykład. Myślę, że po jego przeczytaniu, wyjaśni się wiele niezrozumiałych dotąd rzeczy.
Wyróżnione fragmenty, można (a nawet trzeba) zastąpić innym tekstem. Są to np. pytania, poszczególne odpowiedzi, wartości parametrów i inne. Czcionką pogrubioną (pomiędzy znakami <!--
a -->
) zaznaczono komentarze. Nie są one oczywiście konieczne (możesz je pominąć). Natomiast pozwalają zorientować się, czego dotyczy fragment kodu poniżej nich.
<form action="mailto:twój_adres_poczty@domena" method="post" enctype="text/plain"><div> <!-- Podstawowe pole tekstowe --> <input name="Imię" />Podaj swoje imię<br /> <input name="Nazwisko" />Podaj swoje nazwisko <!-- Pole typu RADIO --> <p>Podaj swoją płeć:</p> <input type="radio" name="Płeć" value="Kobieta" />Kobieta <input type="radio" name="Płeć" value="Mężczyzna" />Mężczyzna <!-- Pole typu RADIO --> <p>Ile masz lat?</p> <input type="radio" name="Wiek" value="mniej niż 15" />mniej niż 15<br /> <input type="radio" name="Wiek" value="15-19" />15-19<br /> <input type="radio" name="Wiek" value="20-29" />20-29<br /> <input type="radio" name="Wiek" value="30-39" />30-39<br /> <input type="radio" name="Wiek" value="40-60" />40-60<br /> <input type="radio" name="Wiek" value="więcej niż 60" />więcej niż 60 <!-- Pole typu CHECKBOX --> <p>Jaką lubisz muzykę (możesz zaznaczyć więcej możliwości)?</p> <input type="checkbox" name="Muzyka" value="Rock" />Rock<br /> <input type="checkbox" name="Muzyka" value="Heavy Metal" />Heavy Metal<br /> <input type="checkbox" name="Muzyka" value="Pop" />Pop<br /> <input type="checkbox" name="Muzyka" value="Techno" />Techno<br /> <input type="checkbox" name="Muzyka" value="Muzyka poważna" />Muzyka poważna<br /> <input type="checkbox" name="Muzyka" value="Inna" />Inna (podaj jaka): <input name="Muzyka" /> <!-- Lista rozwijalna (typ podstawowy) z zaznaczoną opcją domyślną --> <p>Jakiej przeglądarki internetowej używasz?</p> <select name="Przeglądarka"> <option selected="selected">Internet Explorer</option> <option>Netscape</option> <option>Opera</option> <option>Mozilla</option> <option>Inna</option> </select> <!-- Lista rozwijalna (typ rozszerzony) z zaznaczoną opcją domyślną i zmniejszoną wysokością --> <p>Jakie znasz systemy operacyjne (możesz wybrać kilka opcji trzymając klawisz Ctrl)?</p> <select name="System operacyjny" multiple="multiple" size="3"> <option selected="selected">Dos</option> <option>Windows</option> <option>Linux</option> <option>Inny</option> </select> <!-- Pole komentarza (o powiększonych rozmiarach oraz z tekstem domyślnym) --> <p>Podaj swój komentarz:</p> <textarea name="Komentarz" cols="50" rows="10">Proszę, wpisz tutaj jakiś komentarz...</textarea> <br /><br /><br /> <!-- Przycisk WYŚLIJ --> <input type="submit" value="Wyślij formularz" /> <!-- Przycisk WYCZYŚĆ DANE --> <input type="reset" value="Wyczyść dane" /> </div></form>
A oto co otrzymamy po wpisaniu powyższego tekstu:
(możesz kliknąć przycisk "Wyślij formularz", aby zobaczyć szybki efekt, bez wysyłania danych)
Aby ustalić dokładne położenie pól formularza, zwykle umieszcza się je w komórkach tabeli. W ten sposób możliwe jest np. ustawienie opisów w lewej kolumnie, a samych pól w równej odległości po prawej (nie dotyczy to pól wyboru, opcji itp., do których użytkownik nie może wpisywać tekstu). Jeśli zrobimy to bez tabeli, pola będą poukładane nierówno z powodu różnej długości opisów. Na przykład po wpisaniu:
<form action="mailto:e-mail" method="post" enctype="text/plain"><div> <table bgcolor="silver"> <tr> <td>Imię:</td><td><input type="text" name="imie" /></td> </tr> <tr> <td>Nazwisko:</td><td><input type="text" name="nazwisko" /></td> </tr> <tr> <br /> <td colspan="2" align="center"><br /> <input type="submit" value="Wyślij" /> <input type="reset" value="Wyczyść" /> </td> </tr> </table> </div></form>
otrzymamy:
Jeśli chcemy, aby opisy w lewej kolumnie przylegały do pól formularza (wyrównanie do prawej), wystarczy dla komórek tabeli <td>
(lub pierwszej kolumny) dodać atrybut align="right"
.
Multimedia
<embed src="/ścieżka dostępu do pliku" width="x" height="y" />
Natomiast "x" oznacza szerokość w pikselach, a "y" wysokość wyświetlanego obrazu wtyczki (ang. plug-in), czyli okna na stronie w którym odtwarzany będzie plik. Jeśli nie podamy rozmiarów obrazu wtyczki, może on przyjąć wielkość, która nie pasuje do wymiarów pliku! Rozmiary zależą również od posiadanej przez użytkownika wtyczki.
Polecenie <embed />
jest przydatne jeśli chcemy wstawić na stronę jeden z plików multimedialnych:
- *.wav - plik dźwiękowy typu "wav"
- *.mid - plik dźwiękowy typu "midi"
- *.avi - plik typu "avi"
- *.ra - plik Real Audio Player
- *.mp3 - plik dźwiękowy typu "mp3" (MPEG Layer-3)
- *.mpeg - plik typu "mpeg"
- *.mov - plik typu "mov"
- *.asf - plik typu "asf"
- i inne
Polecenie to współpracuje z różnymi wtyczkami (atrybut pluginspage="..."
), dzięki którym teoretycznie może odtwarzać nowe formaty plików multimedialnych. Wtyczka (czyli plug-in) to specjalny niewielki program, który można doinstalować do przeglądarki, zwiększając jej możliwości. Po wywołaniu polecenia, wprost na stronie powinno zostać wyświetlone okno (o podanych rozmiarach), w którym będzie odtwarzany wskazany plik.
Należy pamiętać, że pliki multimedialne mają zwykle duże rozmiary, dlatego najlepiej na początku strony umieścić tekst, a dopiero na końcu polecenie <embed />
. W takim przypadku w pierwszej kolejności wczyta się tekst.
W przypadku niektórych plików można dodatkowo użyć atrybutów:
- Automatyczny start odtwarzania:
<embed src="/ścieżka dostępu do pliku" autostart="typ" />
gdzie jako "typ" należy podać:- "true" - plik zostanie automatycznie odtworzony, zaraz po wczytaniu strony
- "false" - plik nie zostanie odtworzony po wczytaniu (trzeba go uruchomić "ręcznie" - poprzez wyświetlony panel kontrolny)
- Ukrycie obrazu:
<embed src="/ścieżka dostępu do pliku" hidden="typ" />
gdzie jako "typ" należy podać:- "true" - obraz zostanie ukryty
- "false" - obraz będzie wyświetlony na ekranie.
- Ukrycie panelu kontrolnego:
<embed SRC="ścieżka dostępu do pliku" showcontrols="typ" />
gdzie jako "typ" należy podać:- "0" - panel zostanie ukryty
- "1" - panel będzie wyświetlony na ekranie
- Ukrycie paska wyświetlania informacji:
<embed src="/ścieżka dostępu do pliku" showdisplay="typ" />
gdzie jako "typ" należy podać:- "0" - pasek zostanie ukryty
- "1" - pasek będzie wyświetlony na ekranie
- Powtarzanie:
<embed src="/ścieżka dostępu do pliku" loop="typ" />
gdzie jako "typ" należy podać:- "true" - powtarzanie w nieskończoność
- lub "false" - brak powtarzania
- Poziom głośności (w przypadku plików dźwiękowych):
<embed src="/ścieżka dostępu do pliku" volume="v" />
gdzie "v" oznacza poziom głośności (od "-10000" do "0"). - Balans głośników (w przypadku stereofonicznego pliku dźwiękowego):
<embed src="/ścieżka dostępu do pliku" balance="b" />
gdzie "b" oznacza balans między głośnikami (od "-10000" do "+10000"). - Adres do pobrania wtyczki (ang. plug-in):
<embed src="/ścieżka dostępu do pliku" pluginspage="adres wtyczki" />
gdzie jako "adres wtyczki" należy podać adres internetowy, gdzie znajduje się wtyczka, pozwalająca odtworzyć wybrany rodzaj pliku, dzięki czemu użytkownik będzie ją mógł zainstalować, np.:- "http://www.apple.com/quicktime/download/" - wtyczka *.mov (QuickTime)
- "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" - wtyczka *.swf (Macromedia Flash)
- "http://www.microsoft.com/Windows/MediaPlayer/" - wtyczka Windows Media Player Plug-In for Netscape - dla posiadaczy Netscape (*.wav, mid, mp3, asf, wma, wmv, avi itp.).
Polecenie <embed />
sprawia wiele kłopotów nawet w przeglądarkach, które je interpretują! Ponadto należy pamiętać, że pliki multimedialne mają zwykle bardzo duże rozmiary, a więc wczytywanie takiej strony w Internecie, może trwać potwornie długo!
Aby umożliwić dotarcie do plików multimedialnych w przeglądarkach, które nie obsługują polecenia <embed />
, wskazane jest umieszczenie na stronie znaczników:
<noembed>Treść alternatywna</noembed>
Wewnątrz nich wpisuje się treść, która powinna pojawić się, jeśli polecenie EMBED nie może zostać zinterpretowane. Można tam umieścić np. odsyłacz do pliku:
<noembed> Niestety Twoja przeglądarka nie odtwarza plików multimedialnych, ale <a href="/ścieżka dostępu do pliku">tutaj</a> możesz zobaczyć ten plik! </noembed>
Możliwe jest również bezpośrednie osadzenie na stronie dokumentu PDF. Jest to format, który stał się powszechnym standardem publikacji elektronicznych. Umożliwia m.in. różnorodne formatowanie tekstu, wstawianie grafiki i inne. Dokumenty PDF można stworzyć np. przy użyciu programu wbudowanego w pakiet biurowy WordPerfect Office 2000, natomiast aby przeglądać pliki PDF, trzeba dysponować darmowym programem Adobe Reader.
Aby można było osadzić na stronie WWW plik PDF, użytkownik oglądający nasz serwis musi mieć zainstalowany program Adobe Reader.
Dodatkowo należy pamiętać o podaniu rozmiarów obiektu EMBED (atrybuty width="..."
oraz height="..."
), ponieważ jeśli tego nie zrobimy, w MSIE otrzymamy zbyt małe okienko (uniemożliwiające czytanie), natomiast w Netscape Navigatorze trzeba będzie kliknąć prawym przyciskiem myszki i wybrać polecenie "Open".
PRZYKŁAD:
Aby zobaczyć różne sposoby osadzania plików bezpośrednio na stronie, kliknij tutaj.
Drugim sposobem umieszczenia na stronie pliku PDF jest użycie po prostu odsyłacza do pliku w postaci:
<a href="/dokument.pdf">...</a>
W takim przypadku dokument zostanie wczytany bezpośrednio w oknie przeglądarki (MSIE 4, NC 4.5)
Odsyłacze
Odsyłacze
Praktycznie na każdej stronie WWW spotyka się odsyłacze (inaczej: odnośniki lub hiperłącza). Najczęściej stanowi je specjalnie wyróżniony krótki tekst (lub obrazek), po kliknięciu którego, następuje przeniesienie do innej strony. Tak jak każda książka składa się z rozdziałów, tak samo serwisy internetowe składają się zwykle z podstron. Każda podstrona jest osobnym plikiem HTML (z rozszerzeniem *.html lub *.htm) i zawiera treść, która dość znacznie różni się tematycznie od pozostałych (tworzy się ją w taki sam sposób jak stronę główną). Taka organizacja ułatwia użytkownikowi nawigację oraz zapobiega niepotrzebnemu wczytywaniu całego serwisu od razu (co trwałoby prawdopodobnie bardzo długo). Umieszczenie wszystkiego w jednym pliku (index.html), absolutnie nie jest wskazane (chyba że Twoja strona jest naprawdę krótka)!
Aby umożliwić użytkownikowi swobodne przechodzenie pomiędzy podstronami naszego serwisu, trzeba je w jakiś sposób połączyć między sobą. Należy umieścić w wybranym miejscu odsyłacze do wszystkich podstron. Zwykle przeznacza się na to osobną stronę, która stanowi spis treści i zawiera ułożone kolejno odsyłacze do wszystkich podstron serwisu.
Składnia odsyłacza do podstrony (w obrębie tego samego serwisu) jest następująca:
<a href="/względna ścieżka dostępu do podstrony">opis odsyłacza</a>
Natomiast zamiast: "opis odsyłacza", należy wpisać krótki tekst, który pojawi się na ekranie i po kliknięciu którego nastąpi przejście do podanej podstrony (adres strony jest widoczny tylko w pasku statusu przeglądarki).
Tabele
<table> <tr> <td>...</td> <td>...</td> </tr> <tr> <td>...</td> <td>...</td> </tr> </table>
<table>...</table>
- jest znacznikiem tabeli
<tr>...</tr>
- jest znacznikiem wiersza
<td>...</td>
- jest znacznikiem pojedynczej komórki
Powyższe polecenia tworzą tabelę, złożoną z dwóch kolumn i dwóch wierszy (razem cztery komórki). Jeśli to konieczne, możliwe jest dodanie nowych kolumn (poprzez wpisanie dodatkowych znaczników <td>...</td>
) lub wierszy (znaczniki <tr>...</tr>
). Należy przy tym zauważyć, że komórki tabeli (<td>...</td>
) znajdują się wewnątrz znacznków wierszy (<tr>...</tr>
)! Liczba komórek w każdym wierszu powinna być taka sama.
Zwracam uwagę, że w obrębie tabeli tekst i inne elementy można wstawiać tylko wewnątrz znaczników komórek i ewentualnie tytułu tabeli, a nie poza nimi! Poza obrębem tych znaczników można umieszczać tylko ściśle określone elementy, które zostaną szczegółowo opisane w tym rozdziale. Zatem poniższy kod będzie nieprawidłowy:
<table> Tabela... <tr> <b><td>...</td></b> <td>...</td> </tr> <br /> <tr> <b><td>...</td> <td>...</td></b> </tr> <br /> </table>
Edytory (X)HTML posiadają często specjalny generator tabel, który może ułatwić i znacznie przyspieszyć pracę. Niestety edytory tekstowe zwykle nie pozwalają na powtórną edycję kodu, tzn. raz wstawioną tabelę, można modyfikować już tylko ręcznie. Wady tej nie posiadają edytory graficzne (np.: FrontPage).
PRZYKŁAD:
Po wpisaniu:
<table> <tr> <td>komórka1</td> <td>komórka2</td> </tr> <tr> <td>komórka3</td> <td>komórka4</td> </tr> </table>
Otrzymamy:
komórka1 | komórka2 |
komórka3 | komórka4 |
Jak widać, taka tabela nie ma obramowania, dlatego jest mało czytelna. O tym, jak dodać obramowanie do tabeli, przeczytasz w następnym rozdziale.
Dla większej czytelności kodu można umieścić każdy znacznik <td>
w nowej linii. Jest to przydatne zwłaszcza w przypadku dość obszernej treści w komórkach. Powyższa tabela jest równoznacza z:
<table> <tr> <td>komórka1</td> <td>komórka2</td> </tr> <tr> <td>komórka3</td> <td>komórka4</td> </tr> </table>
Oczywiście wcięcia w tekście nie są obowiązkowe, ale zwiększają przejrzystość kodu. Dzięki takiemu sposobowi zapisu, tworzenie i modyfikacja tabeli może przebiegać dużo sprawniej. Na tej stronie w większości została użyta pierwsza metoda wpisywania znaczników, w Internecie najczęściej spotyka się drugą z ewentualnymi dodatkowymi wcięciami przez znacznikami <tr>
i </tr>
. Możesz oczywiście opracować również własną metodę. Wybierz tą, która najbardziej Ci odpowiada i stosuj ją konsekwentnie.
Odcięcia
Microsoft Internet Explorer 7.0 niepoprawnie interpretuje białe znaki (spacje, tabulatory, znaki nowej linii) w komórkach tabeli w przypadku tworzenia tzw. odcięć, czyli wstawiania do komórek tabeli poszczególnych kawałków pociętego, zwykle większego obrazka. Odcięcia obsługuje wiele programów graficznych, a są one przydatne np. w celu ustalenia różnego stopnia kompresji graficznej poszczególnych kawałków, co zmniejsza rozmiar wynikowy pliku. W takim przypadku wewnątrz komórek tabeli nie powinniśmy umieszczać białych znaków wraz ze znacznikiem <img />! Jeśli nie dotrzymamy tego warunku, w MSIE pojawią się przerwy poniżej każdego kawałka.
Poprawnie:
<td><img src="/..." alt="..." /></td>
Niepoprawnie:
<td><img src="/..." alt="..." /> </td> <td> <img src="/..." alt="..." /> </td> <td> <img src="/..." alt="..." /> </td>
Rozmiar i wielkość czcionki (oraz jej rodzaj w Netscape 6) zdefiniowane poza tabelą mogą nie mieć wpływu na tekst wewnątrz niej!
Aby to zmienić, należy zdefiniować w każdej komórce osobno rozmiar czcionki. Jednak lepszym rozwiązaniem jest wstawienie w nagłówku dokumentu:
<style type="text/css"> /* <![CDATA[ */ td { font-size: wielkośćpx; color: kolor; font-family: rodzaj } /* ]]> */ </style>
- wielkość
- Rozmiar tekstu w tabeli podany w pikselach
- kolor
- Barwa czcionki
- rodzaj
- Wybrany krój czcionki (potrzebne w Netscape 6)
Inne zastosowania tabel
Tabele na stronach WWW są używane nie tylko do prezentacji zbioru uporządkowanych danych, lecz również do określonego ustawienia elementów strony. Na przykład za pomocą tabeli bez obramowania możemy ustawić w jednej linii dwa elementy w ten sposób, że pierwszy znajdzie się przy lewej krawędzi strony, a drugi przy prawej:
<table border="0" width="100%"> <tr> <td align="left">LEWA</td> <td align="right">PRAWA</td> </tr> </table>
LEWA | PRAWA |
Struktura strony
Innym częstym zastosowaniem tabel jest tworzenie struktury strony. Można np. w lewej kolumnie umieścić spis treści serwisu, a w prawej - zawartość tekstową strony. Na górze można przeznaczyć miejsce na animowany banner lub/i logo serwisu:
<table width="100%" cellspacing="0" cellpadding="10"> <tr> <td bgcolor="kolor góra" colspan="2" align="center" valign="middle">Tutaj można umieścić logo serwisu</td> </tr> <tr> <td bgcolor="kolor menu" width="Tutaj wpisz szerokość menu (np.: 150)" valign="top"> Tu umieszcza się odsyłacze spisu treści </td> <td bgcolor="kolor strony" valign="top"> Tu wpisuje się treść strony </td> </tr> </table>
Tutaj można umieścić logo serwisu | |
Tu umieszcza się odsyłacze spisu treści | Tu wpisuje się treść strony |
Tworzenie struktury strony opartej o tabele nie jest zalecane. Pierwotnym przeznaczeniem tabel była i jest prezentacja serii danych o różnych powtarzających się typach. Do układania zwykłych elementów na stronie lepiej nadaje się CSS i takie własności jak: pozycjonowanie, ustawienie, przyleganie, rozmiary, marginesy i inne. Zobacz: Szablon strony na DIV-ach.
Wadą powyższego rozwiązania jest to, że taką samą strukturę musimy umieścić na każdej pojedynczej podstronie naszego serwisu, co znacznie utrudnia późniejszą modyfikację szaty graficznej. Na szczęście wiele edytorów HTML obsługuje tzw. szablony. Jest to mechanizm, pozwalający modyfikować jednocześnie wiele stron, na których umieszczono taki sam fragment kodu (chodzi tutaj o spis treści, banner itp.). Zwykle szablony pracują poprzez wklejenie na każdej ze stron takiego samego nagłówka (na początku) oraz stopki (na końcu). W kodzie powyżej nagłówek został napisany kolorem niebieskim, natomiast stopka - zielonym. Kolor czarny oznacza tekstową zawartość konkretnej strony, którą wpisujemy bez użycia szablonu.
Strona niezależna od rozdzielczości ekranu
W powyższym kodzie ustalono szerokość tabeli równą 100%, czyli będzie ona zajmowała zawsze całą szerokość okna przeglądarki (minus marginesy) bez względu na rozdzielczość, w jakiej pracuje użytkownik. Takie podejście powoduje jednak, że tekst i inne elementy strony są inaczej ustawione w różnych rozdzielczościach ekranu. W niektórych przypadkach może to zupełnie popsuć całą estetykę serwisu. Dlatego bardzo często szerokość głównej tabeli strony ustala się nie w procentach ale w pikselach, przy czym dopasowuje się ją tak, aby w najniższej z popularnych rozdzielczości (800x600) nie pojawiał się poziomy suwak do przewijania strony. Należy przy tym zauważyć, że wartość 800 jest zbyt duża, ponieważ w oknie przeglądarki musi się jeszcze zmieścić pionowy suwak oraz miejsce na marginesy strony, które można z resztą ustalić "na zero", jednak i tak zaleca się pewien niewielki zapas bezpieczeństwa. Zwykle największą możliwą szerokością przy zerowych marginesach jest 770 pikseli. Tabelkę taką można wyśrodkować i wtedy w wyższych rozdzielczościach (np. 1024x768) pojawią się puste przestrzenie po bokach strony, jednak wszystkie elementy treści będą poukładane dokładnie tak samo, a więc otrzymamy stronę "niezależną" od rozdzielczości ekranu. To dużo efektywniejsze rozwiązanie niż budowa osobnych wersji serwisu dla każdej rozdzielczości.
Do uzyskania takiego efektu, lepszym rozwiązaniem od tabel jest użycie bloków, np.:
<body style="text-align: center; margin: 0; padding: 0"> <div style="width: 770px; margin: 0 auto; text-align: left"> Tu wpisuje się treść strony </div> </body>
Stosowanie tabel ma jedną zasadniczą wadę: Microsoft Internet Explorer 7.0 wyświetla zawartość tabeli dopiero kiedy zostanie ona całkowicie wczytana. Oznacza to, że zanim nie załaduje się cała treść strony, w oknie przeglądarki nic nie zobaczymy. Wczytywanie może trwać długo i użytkownicy mogą się zniechęcić. Problem ten nie występuje na zwykłych stronach, gdzie najpierw wyświetlany jest początek strony, a dalsza część jest doczytywana w czasie, kiedy użytkownik czyta wstęp. Identyczny efekt uzyskamy w każdej przeglądarce, jeżeli zbudujemy stronę opierając się na możliwościach CSS, a nie na tabelach. Zarówno Netscape/Mozilla/Firefox jak i Opera potrafią ładować treść tabeli stopniowo, ale Microsoft Internet Explorer 7.0 niestety nie.
Niedogodności tej są pozbawione ramki (i to niezależnie od przeglądarki). Pozwalają one uzyskać podobną strukturę strony, ale nie posiadają szeregu wad związanych z tabelami, takich jak: zwiększenie objętości stron (wydłużenie wczytywania), problemy z treścią która nie mieści się w szerokości ekranu (psuje to całą estetykę strony), zależność przewijania treści menu oraz zawartości strony, kłopoty z szablonami (nie potrafią modyfikować różniącej się treści), zawiła struktura strony. Jednak niektóre osoby uważają ramki za "niemodne". W takim przypadku rozwiązaniem może okazać się kompromis - połączenie tabelek i ramek w jednym szablonie (ostatnio bardzo popularne rozwiązanie, stosowane na wielu stronach):
<table width="750" align="center" cellspacing="0" cellpadding="10"> <tr> <td bgcolor="kolor góra" colspan="2" align="center" valign="middle">Tutaj można umieścić logo serwisu</td> </tr> <tr> <td bgcolor="kolor menu" width="150" valign="top"> <!-- MENU --> <a target="strona" href="/home.html">Strona główna</a><br /> <a target="strona" href="/strona1.html">Rozdział 1</a><br /> <a target="strona" href="/strona2.html">Rozdział 2</a><br /> <a target="strona" href="/linki.html">Linki</a><br /> <a href="mailto:Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.">Kontakt</a><br> <!-- MENU koniec --> </td> <td bgcolor="kolor strony" valign="top"><iframe name="strona" src="/home.html" width="560" height="440" frameborder="0"></iframe></td> </tr> </table>
Taki sposób budowania struktury strony jednak też nie jest pozbawiony wad. Na ekranie mogą pojawić się dwa pionowe suwaki do przewijania strony, co sprawia kłopoty w mniejszych rozdzielczościach, a w większych okienko do wczytywania treści kolejnych stron może mieć niewystarczającą wysokość. Problem można jednak w całości rozwiązać za pomocą skryptu AutoIFRAME.
PRZYKŁAD:
Przykład struktury strony zbudowanej w oparciu o tabelę i ramkę, możesz zobaczyć tutaj.
Przy tworzeniu własnego szablonu WWW o bardziej skomplikowanej strukturze może Ci pomóc generator zamieszczony tutaj.
Ramki
Innym ciekawym zastosowaniem tabel jest tworzenie "ramek" z zaokrąglonymi bądź ściętymi rogami.
Lepszym rozwiązaniem będzie użycie CSS, ponieważ tabele nie zostały zaprojektowane z myślą o tworzeniu efektów graficznych na stronach.
Aby wstawić na stronę taki element trzeba najpierw narysować w dowolnym programie graficznym wszystkie cztery narożniki, np.:
Warto również wykonać przezroczysty obrazek GIF o rozmiarach 1x1 piksel, który posłuży nam do usunięcia efektu nieestetycznie wyglądających pustych komórek tabeli. Brak zawartości komórki może spowodować jej błędne wyświetlenie, a wstawienie tam tekstu - zbyt duże jej rozciągnięcie!
Tutaj jest obrazek: (w celu ułatwienia skopiowania jest sztucznie powiększony oraz dodano obramowanie).
Następnie tworzymy tabelę z trzema kolumnami i trzema wierszami. W komórkach narożnych wstawiamy narysowane wcześniej obrazki, natomiast w pozostałych komórkach ustalamy kolor tła, taki sam jak kolor rysunków narożników i umieszczamy przezroczysty obrazek. W komórce centralnej wpisujemy właściwą treść tabelki:
<table cellpadding="0" cellspacing="0"> <tr><td style="line-height: 1px"><img src="/lg.gif" alt="" /></td><td bgcolor="#426B9C" style="line-height: 1px"><img src="/0.gif" alt="" /></td><td style="line-height: 1px"><img src="/pg.gif" alt="" /></td></tr> <tr><td bgcolor="#426B9C"><img src="/0.gif" alt="" /></td><td bgcolor="#426B9C"> <font color="#C0FFFF"><b>Tabelka z zaokrąglonymi rogami</b></font> </td><td bgcolor="#426B9C"><img src="/0.gif" alt="" /></td></tr> <tr><td style="line-height: 1px"><img src="/ld.gif" alt="" /></td><td bgcolor="#426B9C" style="line-height: 1px"><img src="/0.gif" alt="" /></td><td style="line-height: 1px"><img src="/pd.gif" alt="" /></td></tr> </table>
Efekt:
![]() |
![]() |
![]() |
![]() |
Tabelka z zaokrąglonymi rogami | ![]() |
![]() |
![]() |
![]() |
To samo z obramowaniem - dla pokazania zasady:
![]() |
![]() |
![]() |
![]() |
Tabelka z zaokrąglonymi rogami | ![]() |
![]() |
![]() |
![]() |
Zauważ, że aby otrzymać taki efekt wystarczy narysować cztery małe obrazki (w przykładzie o rozmiarach 10x10 pikseli), dzięki czemu nie spowalniają one zbytnio ładowania strony, a tabelka może mieć dowolne wymiary, zależne od długości wpisanego w niej tekstu.
Ustalając różne kolory tła w odpowiednich komórkach tabeli, można również uzyskać np. taki efekt:
![]() |
![]() |
![]() |
![]() |
Dwukolorowa tabelka z zaokrąglonymi rogami |
![]() |
![]() |
![]() |
![]() |
Inne ciekawe przykłady:
![]() |
![]() |
![]() |
![]() |
Tylko dwa narożniki zaokrąglone | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
<table cellpadding="0" cellspacing="3"> | ![]() |
![]() |
![]() |
![]() |
Czcionka
Znacznik FONT jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
Dzięki temu poleceniu, możesz określić wiele parametrów dotyczących pisanego tekstu. Poniżej zostanie przedstawiona ich lista.
Wielkość czcionki
- Wartość bezwzględna
<font size="n">...</font>
gdzie "n" oznacza wielkość pisma (1 - najmniejsza, 7 - największa, 3 - domyślna)PRZYKŁAD:
Czcionka o rozmiarze 1 (w Internet Explorerze 10 pikseli)
Czcionka o rozmiarze 2 (12 pikseli)
Czcionka o rozmiarze 3 - domyślna (16 pikseli)
Czcionka o rozmiarze 4 (18 pikseli)
Czcionka o rozmiarze 5 (24 piksele)
Czcionka o rozmiarze 6 (32 piksele)
Czcionka o rozmiarze 7 (48 pikseli) - Wartość względna
<font size="+n">...</font>
lub<font size="-n">...</font>
gdzie "+n" oznacza czcionkę o "n" większą od aktualnej. Natomiast "-n" oznacza czcionkę o "n" mniejszą od bieżącej.PRZYKŁAD:
To jest czcionka o rozmiarze domyślnym
Czcionka o rozmiarze +1 (3+1=4)
Czcionka o rozmiarze -1 (3-1=2)
Atrybut SIZE jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
Kolor tekstu
<font color="kolor">...</font>
Atrybut COLOR jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
PRZYKŁAD:
Czcionka koloru "black" Czcionka koloru "silver" Czcionka koloru "gray" Czcionka koloru "white" Czcionka koloru "maroon"Czcionka koloru "red" Czcionka koloru "purple" Czcionka koloru "fuchsia" Czcionka koloru "green" Czcionka koloru "lime"Czcionka koloru "olive" Czcionka koloru "yellow" Czcionka koloru "navy" Czcionka koloru "blue" Czcionka koloru "teal"Czcionka koloru "aqua" Czcionka koloru "#800af0"
Rodzaj czcionki
<font face="rodzaj">...</font>
lub
<font face="rodzaj1, rodzaj2, rodzaj3...">...</font>
<font face="Verdana, 'Times New Roman', Arial">...</font>
).Uwaga! Należy być ostrożnym z używaniem tego polecenia, ponieważ jeśli użytkownik oglądający Twoją stronę, nie będzie posiadał podanej czcionki w swoim systemie operacyjnym, tekst zostanie napisany czcionką domyślną (w Internet Explorerze będzie to najprawdopodobniej 'Times New Roman', chociaż to też nie jest pewne). Poza tym nie każda czcionka potrafi zapisać poprawnie polskie znaki. Koniecznie sprawdź rezultat w praktyce!
W przypadku drugiego polecenia zostanie użyta taka czcionka, którą pierwszą w kolejności podawania będzie posiadał użytkownik. Jest to lepszy sposób, gdyż pozwala się ubezpieczyć na wypadek nieposiadania jednego rodzaju czcionki przez użytkownika.
W systemie Windows standardowo dostępne powinny być czcionki: 'Times New Roman', Arial, 'Courier New'. Dodatkowo od jakiegoś czasu z Internet Explorerem dostarczane są: Verdana, Tahoma, 'Trebuchet MS', Georgia. Przy definiowaniu czcionki, dobrze jest wykorzystywać te właśnie rodzaje, a także takie które domyślnie występują w innych systemach operacyjnych (np.: Helvetica - podobna do Arial).
Istnieje technologia, pozwalająca wczytać plik czcionki bezpośrednio z Internetu. Dzięki temu tekst teoretycznie zawsze będzie wyświetlony za pomocą wybranej przez nas czcionki, nawet jeśli użytkownik nie zainstalował jej na własnym komputerze. Niestety technologia ta nie została ujednolicona, a dodatkowo nie wszystkie przeglądarki ją obsługują :-( Aby dowiedzieć się więcej, zobacz: Czcionki osadzone.