To odwieczne pytanie początkujących koderów (x)HTML, kiedy zarzuci im się tworzenie szablonu na tabelkach. Niestety dla dużej części jest to dość zawiłe w zrozumieniu, choć tak na prawdę to nic trudnego. Wystarczy minimalnie zmienić swoje wyobrażenie struktury elementów.


Podstawowe informacje o DIVach już znamy, więc przejdźmy do napisania prostego szablonu. Będzie się składał z nagłówka, dwóch kolumn po środku i stopki. Będzie to wyglądało tak:

Przypominając sobie wiadomości z poprzedniej listy możemy wywnioskować, że:
Kodem xHTML zajmiemy się w kolejnym kroku, teraz, kiedy jesteśmy przy wyciąganiu wniosków z listy, opracujmy kod CSS. Przyjmijmy, że nagłówkowi później nadamy ID równy “naglowek”, pierwszej kolumnie – “menu”, drugiej kolumnie – “tresc”, a stopce – “stopka”. Kolory zastosujemy te same, które są na powyższym obrazku.
Polecam spróbować samemu wykonać ten kod.
Mój wygląda tak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | /* szerokość bloku obejmującego i kolor czcionki */ body { width: 800px; color: white; } /* szerokość nagłówka i stopki oraz ich kolor */ #naglowek, #stopka { width: 800px; background: #00BA00; } /* wysokość nagłówka */ #naglowek { height: 120px; } /* wysokość stopki i zablokowanie przylegania */ #stopka { height: 50px; clear: both; } /* wysokość obydwu kolumn i ustawienie im przylegania */ #menu, #tresc { height: 400px; float: left; } /* szerokość I kolumny i jej tło */ #menu { width: 200px; background: #007BB9; } /* szerokość II kolumny i jej tło */ #tresc { width: 600px; background: #DBC500; } |
Kod ten proszę umieścić w pliku style.css.
Mało doświadczonych może zdziwić deklaracja szerokości dla elementu body. Tutaj chciałbym wprowadzić informację, że nie używa się elementów zbiorowych dla całej strony, którym byłby na przykład DIV obejmujący całą treść.
Skoro mamy już ten kod, powinniśmy się zabrać do pisania w xHTML. Najpierw oczywiście zaczynamy od standardowego nagłówka xHTML(w tym przypadku 1.0 Strict):
1 2 3 4 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> |
Potem podajmy tytuł strony:
1 | <title>Moja pierwsza strona na DIVach</title> |
W następnej kolejności ustawiamy kodowanie strony(w tym przypadku UTF-8):
1 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
Jako następną rzecz, dodajemy informację o zewnętrznym arkuszu stylów, który jest umieszczony w pliku style.css:
1 | <link rel="stylesheet" type="text/css" href="style.css" /> |
Zakańczamy sekcję head i otwieramy body:
1 2 | </head> <body> |
Tutaj zaczyna się trudność większości. Nie wykonujemy tu nic trudniejszego, jak wypisanie wszystkich DIVów z treścią odpowiadającą ich przeznaczeniu:
1 2 3 4 5 6 7 8 9 10 11 12 | <div id="naglowek"> Nagłówek </div> <div id="menu"> Menu </div> <div id="tresc"> Treść </div> <div id="stopka"> Stopka </div> |
Teraz nie pozostaje nam nic innego, jak zamknąć wszystkie niezamknięte elementy, czyli body i html:
1 2 | </body> </html> |
Cały kod pliku xHTML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <title>Moja pierwsza strona na DIVach</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="naglowek"> Nagłówek </div> <div id="menu"> Menu </div> <div id="tresc"> Treść </div> <div id="stopka"> Stopka </div> </body> </html> |
Kod xHTML zapisujemy w dowolnym pliku o rozszerzeniu html i umieszczamy na serwerze. Wszystko powinno ułożyć się tak:
Wynik
No i to już koniec naszej trudnej wędrówki przez ten artykuł. Jego wynikiem jest prosty szablon oparty na DIVach. Polecam dla utrwalenia wiadomości i praktyki poćwiczyć dodawanie kolejnych bloków(np. menu górnego) oraz zmianę wszystkich wartości na procenty, które umożliwiają tworzenie stron dopasowujących się do rozdzielczości klienta.
Świetny poradnik. Teraz pozostało tylko ćwiczyć i tworzyć własne szablony. Dzięki wielkie
wczesniej podalam zly email
bardzo fajnie wytlumaczone. mam jednak problem:
w jednym z divow mam menu i chcialabym zeby klikajac na link, otwieral sie on w innym divie? jak to zrobic? ja uzywam do tego iframe ale mam wrazenie ze to bardzo nieprofesjonalne. dziekuje za odpowiedz
Do tego dzisiaj używa się technologii AJAX, lecz jeżeli chcesz to umieścić na zwykłej stronie, która będzie miała być pozycjonowana, musisz również stworzyć wersję dla Googlebota, gdyż ten nie potrafi korzystać z JavaScriptu. Możesz skorzystać z jQuery: http://docs.jquery.com/Ajax
bardzo fajnie lopatologicznie wytlumaczone
super
może być to zrobione przez php : o
a potem w divie w którym ma sie otwierac
ustawiłem główną strone ‘ofirmie.php’
linki powinny wygladac tak http://www.strona.pl/index.php?page=nazwapodstrony
Super Artykuł!!!!. Dzieki niemu bardzo duzo sie nauczylem .
Wielkie Dzięki Łukasz
Prawie ok, ale prawie robi różnicę. Co w sytuacji gdy treści w divie tresc jest więcej niż może pomieścić ten div?
Ten przykład służy tylko wytłumaczeniu podstawowych zasad. To nie jest artykuł pod tytułem “Jak stworzyć najprostszą stronę na DIVach?”. Jeżeli chciałbyś to przerobić na najprostszy layout, trzeba by było wprowadzić kilka poprawek: usunąć zdeklarowaną wysokość dla elementów #tresc i #menu oraz dodać element, który będzie “przypinał” końce #tresc i #menu do warstwy głównej. Wyglądałoby to tak: http://eazu.pl/przyklady/div/przepelniony.html