Home 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Poglavlje 12

"Protok" strane:

The Flow. Da bismo ga bolje objasnili, moraćemo da pogledamo jednu stranu u kojoj ništa nije menjano u CSS-u osim boje pozadine <body>-ja i svih BLOCK elemenata koji je čine (ok, i fonta). Otvorite je, pa se vraćamo.

Prikaz Flow-a

Dakle, zapazite nekoliko stvari:

Još par stvari o pozicioniranju elemenata:

Float:

Float property pomera element i čini da PLUTA iznad ostalih elemenata na stranici (left, right). Element kojem se dodeli float MORA da ima width.

Prikaz Float-a

Kao što vidite, dodelili smo jednom paragrafu osobinu float i vrednost right. Stavio sam desnu marginu i crni border, kako bih bolje ilustrovao važnu činjenicu:
Kada se elementu dodeli float, on je izuzet od normalnog "protoka" (flow-a) strane. Svi ostali BLOCK elementi idu iza njega, kao da ne postoji, ali INLINE elementi u tim BLOCK elementima poštuju granice float-ed elementa i POVLAČE se od njega (smanjite širinu browsera i videćete kako se text i slike prilagođavaju).

Uporedite prvi i drugi primer i videćete da float-ovan <p> počinje tačno na istom mestu, ispod prvog <h2>. Iako je izuzet iz flow-a, možete da odredite ispod kojeg elementa će započeti gledajući gde mu je mesto u HTML kodu. Da ste npr. hteli da počne ranije, morali biste da ga premestite ISPOD <h1> (u kodu), ili čak možda i ispod <body> tag-a u HTML-u (ako želite da počne baš od samog vrha strane). Svi ostali elementi su pomereni na gore za tačno onoliko prostora koliko je pre zauzimao <p>. Setite se da sam ja namerno obojio pozadine elemenata da bih bolje ilustrovao šta se dešava, jer se na normalnoj strani ne bi tako jasno videlo šta je iza čega i koliko široko se prostire.

Za float-ed elemente margine se ne preklapaju. Float može da se koristi i za INLINE elemente, uglavnom slike (samo dodajte padding za malo prostora i eventualno border).

Napomena: nije preporučljivo stavljati width za glavni sadržaj na strani, on treba da može da se prilagođava (sabija / prostire) u odnosu na browser. Width sadržaj je FIXAN.

Clear:

clear property naređuje elementu da se pomeri van domašaja float-ed sadržaja u slučaju da je "plutajući' sa njegove leve / desne ili obe strane (left, right, both). Ne radi ništa kod position: absolute;.

Prikaz Clear-a

Primetite da, iako sam dodelio clear samo <h2> elementima, zbog toga što se jedan pomerio dole od float-ed sadržaja, automatski su se pomerili i svi ostali elementi koji su IZA njega u HTML kodu. Takođe, uočite da se prvi <h2> nije mrdnuo, iako i za njega važi clear: right;. To je zato što on u kodu stoji iznad "plutajućeg" sadržaja (ne dodiruje ga), te nema potrebe da se pomera.

Liquid & Frozen. Jello?

Liquid layouts ("tečni" raspored), sadržaj se prilagođava (sabija / prostire) u odnosu na širinu browsera (default vrednost koja se ne piše jer se podrazumeva, width: auto).

Frozen layouts ("zamrznuti" raspored), sadržaj je fixiran i ne menja se u odnosu na širinu browsera (width property definisan u px ili %).

Jello layouts ("žele" raspored), fixiramo sadržaj sa width, ALI dodamo vrednost levoj i desnoj margini auto (i ovo mora da se piše jer margina nije ceo element). Mnoge stranice koriste ovu vrstu dizajna.

Pozicija:

position property definiše koji tip pozicioniranja se primenjuje na element. Može da se koristi i za BLOCK i za INLINE elemente. Vrednosti: