Professional Documents
Culture Documents
Vezba Web Dizajn Broj 5
Vezba Web Dizajn Broj 5
Vežbu 5 počinjemo sa radom css box concept-a. Osnove ovog koncepta baziraju se na
pretpostavci da ceo sadržaj naše stranice može da se prikaže u vidu box-a(kutije). Da bismo ovo
razumeli u potpunosti potrebno je prikazati dva načina, preko kojih možemo da prikažemo
elemente: Block elementi i Inline elementi.
Kad su u pitanju block elementi formiraju poseban blok koji preuzima maksimalnu moguću
širinu(width) na osnovu “parent”elementa. Primeri block elementa su: div, paragrafi, naslovi ili
elementi liste. Inline elementi su elementi koji uzimaju samo onoliko prostora koliko im je
potrebno. Ovi elementi nemaju dodatne linije za razliku od block elemenata, i ostaju u liniji sa
ostatkom dokumenta. Primeri ovih elemenata su: span tagovi, slike, strong tagovi i anchor
elementi. U nastavku ćemo prikazati i objasniti svaki element box model concepta kao i njegove
vrednosti. Ukoliko kreiramo jedan paragraf sa možemo demonstrirati svaki od elemenata i
njihove vrednosti.
Slika 2.- Kreiranje paragrafa
Sada kad smo kreirali ovo možemo da dodamo property padding kako bi dodali prostor oko
teksta. Ovo može da se uradi na dva načina: prvi način je da za svaki deo pišemo pojedinačno
margine(top, left, bottom, right), drugi način je da unutar padding property-a pišemo vrednosti.
Ukoliko dodamo samo jednu vrednost npr. od 30px to znači da će se padding primeniti na sve 4
strane u vrednosti od 30px. Ukoliko koristimo dve vrednosti npr. (Padding: 30px 60px;) prva
vrednost će se odnositi na top i bottom padding, dok druga će se odnositi na left i right padding.
Postoji mogućnost da koristimo tri vrednosti prilikom definisanja padding-a gde će se prva
odnositi na top padding, druga na left i right padding a treća na bottom padding.
.box{
padding: 30px 60px 90px;
}
Nakon dodatih vrednosti dobijamo sledeći prikaz
Slika 3.- Prikaz nakon dodatog padding-a
Ukoliko koristimo sve četri vrednosti unutar padding property-a redosled je sledeći: top, right,
bottom, left(u smeru kazaljke na satu).
Kad je u pitanju rad sa border-om da bismo radili s njim potrebno je prvo definisati border-style,
razlikujemo rad sa 3 property-a: border-width, borded-style I border-color. Border-width može
da koristi vrednosti ili keywords(thin, medium, thick). Default-na vrednost border-a je medium.
.box{
border-width: thick 15px thin 30px;
border-color: aquamarine;
border-style: solid;
}
U prethodnom primeru smo pokazali da je moguće koristiti kombinaciju keywords-a i unetih
vrednost, prilikom pokretanja dobijamo sledeći prikaz
U nastavku ćemo pokazati još neka svojstva koja ćemo koristiti prilikom rada sa css-om. Jedno
od svojstva koje možemo da koristimo je dislay. Ovaj property po default-u kod anchor
elemenata je inline, pored ove vrednosti možemo da radimo sa none, block i inline-block.
Ukoliko želimo da dodamo npr margin-e i width property kod anchor elementa potrebno je
koristit inline-block. Visiable je još jedan od property-a koji možemo da koristimo i radi sa dve
vrednosti: hidden i visiable(default-na vrednost). Potrebno je napomenuti ukoliko želimo da
damo vrednost height našem div element od 100% neće se ništa desiti osim u slučaju kad je data
konkrenta vrednost za visinu njegovog “roditelj” elementa. Ukoliko želimo da popunimo taj
prostor u celoj dužini potrebno je dodati prvo vrednost unutar roditelj elementa koji je u ovom
slučaju body i elementa unutar kojeg se nalazi body odnosno html element.
Slika 6.- Prikaz dobijene na kojoj visina div-a ispunjava celu visinu body elementa
Da bismo izračunali koliko prostora zauzima naš div element sa prethodne slike npr. uzimamo
content prostor koji iznosi 500px + padding sa leve i desne strane koji iznosi po 20px i border
koji iznosi 10px što je ukupno 560px. Ovo bi predstavljao problem ukoliko želimo da nam width
div-a iznosni tačno 500px, način kako bi ovo mogli da rešimo je da izračunamo tačne vrednosti
svakog elementa pojedinačno i uklopimo u cifru od 500px ili da koristimo css fiture border-box.
Ovaj property će “terati” sav naš content u granicama naših bordera umesto da prelaze granicu.
Kao što možemo videti border-box je smanjio visinu i širinu našeg div elementa kako bi stali u
kontejneru od 500px širine. Ovde takođe možemo definisati vrednosti kao što su min-width,
max-width, min-height i max-height. Uz pomoć datih property-a možemo definisati
prilikosmanjivanja ili povećavanja prozora pretraživača. Min-height nam daje mogućnost da naš
div element ne bude nikad manji od vrednosti koju mu prosledimo dok min-width omogućava da
prilikom sužavanaja prozora div ne bude manji od vrednosti koju prosledimo. Kad su u pitaju
Max-height i Max-width nam daju mogućnost da naš div kontejner ne bude veći od vrednosti
koje prosledimo. Može da se desi da priliko definisanje ovih property-a nema dovoljno mesta za
tekst paragrafa pa će određeni delovi biti van box elementa.
Sledeći property sa kojim ćemo raditi je float. Float nam omogućava da sliku ubacimo pored
paragrafa npr. Možemo da radimo sa tri vrednošću ovog elementa poput none, left i right.
Slika 11.- Prikaz float-a sa vrednošću right
Ukoliko prebacimo sliku sa leve strane I dodamo margine dobili bi sliku koja bi bila okružena
tekstom, bilo bi lepše ukoliko bi teskt bio poravnat samo sa naslovom.
.group:before,
.group:after{
content: "";
display: table;
}
.group:after{
clear:both;
}
Ova metoda kreira prazan saržaj, zatim stilizuje taj saržaj prikazujući tabelu. Tabela zatim kreira
ćelije i block koji se koriste pre pseudoklasa kako bi sprečili “colapse” gornje margine. Zatim se
koristi clear property. Ovu klasu je potrebno dodati gde imamo float elemenata kako bi naterali
date elemente da sadrže ceo sadržaj unutar njih.
U nastavku ćemo pokazati rad sa position property-em, ovaj property poznaje rad sa 4
vrednočću: static(vrednost po default-u), relative, absolute i fixed. Static vrednost je default-na
vrednost i svi elementi kojima je dodeljena ova vrednost su statički, nepokretni. Relative
vrednost daje nam mogućnost da dati element pomerimo preko offset-a, koji ne remeti pozicije
ostalih elemenata koji ga okružuju.
Slika 14.- Korišćenje relative position-a na srednji element
Sledeća vrednost koji možemo da koristimo kod position-a je absolute. Prilikom korišćenja ove
vrednosti svaki element koji ima datu vrednost ne poštuje prostor ostalih elemenata.
Naravno kao i vеćinu prethodnih property-a možemo da koristimo border-radius property kako
bi objedinili sve prethodno navedene property-e. Prilikom navođena možemo raditi sa jednom
vrednošću koja će se odnositi na sva četri ugla, dve vrednosti od kojih je prva za gornji levi i
donji desni ugao a druga gornji desni i donji levi. Kad radimo sa tri vrednosti prva vrednost je za
godnji levi, druga za gornji desni i donji levi dok je treća za donji desni. Kad se koriste četri
vrednosti ide se smerom kazaljke na satu.
.box{
Border-radius: 50px 25px;
}
Prethodni primer kad koristimo dve vrednosti da bismo odredili radius. Međutim želimo takođe
da odredimo horizontalni i vertikalni radius, potreno je dodati “/”. Prethodni primer bi izgledao
.box{
box-shadow: inset 2px 2px 15px 5px blue, -2px -2px 15px 5px red, 0 20px 25px -8px #000;
}
Iz prethodno navedenog primera dodata je senka koja se jedna nalazi unutar boxa, dok su dve
van boxa. Ako želimo da i ostale senke budu unatar potrebno je posle svakog zareza dodati inset.