-
Gotowe szkielety stron internetowych
dodano 04.01.2008 / komentarzy: 1 / autor: shdwNa różnych forach internetowych coraz więcej osób zadaje pytania dotyczące budowy strony internetowej. A to sypią im się kolumny, a to header nie pasuje. Opiszę więc dwa podstawowe szkielety stron wraz z przykładami, abyście mieli rozeznanie dlaczego strona wygląda tak, a nie inaczej.
Jeden z najczęściej wykorzystywanych układów
Jeżeli surfujecie dużo w internecie, zapewne zauważyliście, że coraz częściej popularne są strony które zawierają zarówno menu jak i pasek nawigacji. Jak wygląda taka strona można zobaczyć tutaj.
Oto budowa strony:
<div id="container">
<div id="header">
</div>
<div id="menu">
</div>
<div id="content">
</div>
<div id="navigation">
</div>
<div id="footer">
</div>
</div>
* {
padding: 0px;
margin: 0px;
border: 0px;
}#container {
width: 760px;
background: url(images/1_container.jpg) repeat-y;
margin: 0 auto;
}#header {
width: 760px;
height: 180px;
background: #8a826b;
}#menu {
width: 760px;
height: 32px;
background: #453e2b;
}#content {
width: 520px;
height: 600px;
float: left;
}#navigation {
width: 240px;
height: 500px;
float: right;
}#footer {
width: 760px;
height: 24px;
background: #453e2b;
clear: both;
}Trochę wytłumaczenia:
- w
#contenti#navigationsą wstawione wartości height. Do elastycznego działania strony należy je oczywiście usunąć, teraz są dodane tylko w celu pokazania działania - cała strona jest zamknięta w div’ie
container, który trzyma ją w ryzach. Dzięki niemu możemy kierować całą stroną na raz *- ustawiamy wszystkie domyślne marginesy, paddingi i obramowania na 0px.margin: 0 auto- wyśrodkowuje całą stronęfloat- ustawia opływanie danej warstwy, w naszym szkielecie jest ich dwa. Jeden do menu, drugi do contentu.clear: both- dzięki temu parametrowi nasz footer jest w ogóle widoczny, bez niego chował by się pod opływające go warstwy
Rzeczy o których trzeba pamiętać aby dopasować szkielet dla własnych potrzeb:
- nadanie szerokości dla każdego elementu, tak aby content i menu mieściły się w containerze, czyli ich szerokość łącznie nie może być większa niż szerokość
containera - nadanie wysokości dla headera, menu i footer’a
- ustawienie tła dla containera - to tło będzie widoczne pod menu i contentem. Zrobione jest to w celu elastyczności i ciągłości tła. Jeżeli ustawilibyśmy osobne tło dla contentu i osobne dla menu, bez stałej szerokości zawsze jedno z nich było by nie dociągnięte do końca
- nie ustawiać stałej wysokości dla nawigacji i contentu
Wordpress’owy układ
Bloggerzy korzystający z gotowych już skórek, często do wyboru mają taką w której nawigacja jest ustawiona na samym dole, a cała treść jest widoczna na całej szerokości strony. Jeżeli również chcecie sami napisać kod takiej strony, oto jak możecie tego dokonać.
<div id="container">
<div id="header">
</div>
<div id="content">
</div>
<div id="navigation">
<div id="nav1">
</div>
<div id="nav2">
</div>
<div id="nav3">
</div>
<div style="clear:both;"></div>
</div>
<div id="footer">
</div>
</div>* {
padding: 0px;
margin: 0px;
border: 0px;
}#container {
width: 660px;
margin: 0 auto;
}#header {
width: 660px;
height: 180px;
background: #8a826b;
}#content {
width: 660px;
height: 400px;
background: #d7cfba;
}#navigation {
width: 660px;
background: url(images/2_navigation.jpg) repeat-y;
}#nav1 {
width: 220px;
float: left;
height: 200px;
}#nav2 {
width: 220px;
float: left;
height: 200px;
}#nav3 {
width: 220px;
float: left;
height: 200px;
}#footer {
width: 660px;
height: 24px;
background: #453e2b;
}W
#content,#nav1,#nav2i#nav3są wstawione wartości height. Do elastycznego działania strony należy je oczywiście usunąć, teraz są dodane tylko w celu pokazania działaniaWszystko jest tak samo jak w poprzednim szkielecie, tutaj jednak zamiast jedno kolumnowego menu mamy dolną nawigację w której zawarte są 3 divy ustawione obok siebie.
Div który nie ma nadanej żadnej klasy, ani idyntyfikatora, lecz ma dodany w stylu
clear: both;jest w celu rozciągnięcia tła na wysokość całego div’a pod nawigacją. Jest tak zrobione, ponieważ wewnątrz są 3 warstwy z opływaniem, a przeglądarki interpretują to jako brak jakichkolwiek danych w divie co skutkuje jego nie rozciągnięciem (nie ma nadanej stałej szerokości).Rzeczy o których trzeba pamiętać aby dopasować szkielet dla własnych potrzeb:
- nadanie szerokości dla wszystkich 3 divów nawigacji tak, ich łączna szerokość nie przekroczyła szerokości głównego div’u nawigacji
- nadanie wysokości dla headera i footer’a
- ustawienie tła dla głównego div’a nawigacji - to tło będzie widoczne pod każdym z 3 wewnętrznych div’ów
- nie ustawiać stałej wysokości dla nawigacji, nav1, nav2, nav3 i contentu
Podsumowanie
To by było na tyle, mam nadzieje, że te 2 opisy pomogą wam w zakodowaniu własnej strony. Jeżeli macie jakieś pytania/propozycje/pomysły lub znaleźliście błąd, napiszcie o tym na naszym forum.
- w


















Komentarze / dodaj komentarz
autor: ducat
dodano: 14.07.2008
Wiadomo kwestia zastosowania (tutaj stały width) ale …
nie lepszym rozwiązaniem będzie (przykład pierwszy)
wyalić całkiem float z #navigation, a zamiast tego dać
margin-left równy lub większy width #navigation?
W sumie mała różnica a wg mnie elastyczność większa.
Napisz komentarz