Professional Documents
Culture Documents
Iz tog razloga postoji CSS i on će nam pomoći da doteramo stranicu do željenog izgleda.
CSS je kao šminka za HTML. :)
Najnovija verzija je CSS3 koja podržava u potpunosti CSS, samo što su dodate nove
opcije, tako da ćemo u ovom nivou preći mnoštvo opcija koje nam nudi CSS, a u narednom
ćemo se upoznati i sa tim novim koje nam nudi CSS3, kao što su pozadine, animacije,
transformacije i svašta još nešto interesantno.
CSS,
HTML i kasnije
JS kad budemo dodavali, nije baš najbolja praksa stavljati CSS u HTML.
Oni ostaju u index.html fajlu i vi kada odete na neku drugu stranicu, stilova nema i morate
tamo da ih unesete. Pa dobro, možda će neko hteti tako da radi. Međutim, posle će ga stići
glavobolja. :) Imamo da dodamo još jednu stavku u navigaciju i ona nam poremeti
responsive, izgubi izgled i još ponešto (dešavaće se). Jao, muke! Sad treba u svim
fajlovima na istom mestu dodati / prepraviti kod.
Zašto se mučiti, kad sve možete imati na jednom mestu, odnosno u jednom CSS fajlu
zasebno. :) Nadamo se da Vam je sad jasnije zašto nećemo opisivati 1 i 2 način, jer je
jednostavno loša praksa. Ako baš bude neophodno da nešto odradite na taj način evo
ukratko...
Sintaksa
CSS za neki element (bilo da pišete klasu, ID ili element) se sastoji izdva glavna dela:
1. Selektor
2. Jedna/više deklaracija.
1. Svojstvo
2. Vrednost.
Selektori služe da se odredi kom elementu dodeljujemo stilove.
U gornjem primeru nam je selektor h1 tag, tako da smo automatski svim h1 elementima na
stranicama dodelili veličinu fonta na 24px. Deklaracijom definišemo svojstvo i
vrednost koje želimo da dodelimo selektoru odnosno određenom HTML elementu .
veličina fonta,
stil,
boja,
pozadina itd.
Svako svojstvo ima svoju vrednost koja može biti: boja, veličina izražena u nekoj jedinici i
slično.
U narednim lekcijama ćemo se upoznati sa dosta svojstava i njihovih vrednosti, kako bismo
Vam ukazali na opcije koje imate da stilizujete vašu stranicu što je bolje moguće.
Jedan selektor može imati jednu ili više deklaracija koje se nalaze
unutar vitičastih zagrada {}.
Anatomija pravila:
Selektori
Selektori su jedan od najbitnijih aspekata u CSS -u i pomoću njih, kao što im ime
kaže, selektujemo element koji želimo da stilizujemo. Selektore možete definisati na više
različitih načina. Selektori mogu da identifikuju bilo koji HTML tag, ali mogu još mnogo
toga da urade.
Univerzalni selektori se pišu kao * (zvezdica) i oni se odnose na sve
elemente koje imate na strani.
Vrednost univerzalnog selektora se može izmeniti ukoliko dodelite druge vrednosti
ciljanom elementu. Ovaj selektor se često koristi za uklanjanje podrazumevanih margina i
padinga sa svih elemenata.
*{
margin: 0;
padding: 0;
}
Pomoću prethodnog koda smo uklonili svim elementima marginu i uvlačenja (to su one
podrazumevane vrednosti, npr. za naslove za koje smo rekli da ćete kasnije moći pomoću
CSS-a da ih promenite). Pa, ukoliko dodamo kod iznad u naš stilovi.css fajl možemo videti
da su sve margine i uvlačenja nestala.
Element selektori
Element selektori se koriste da neku deklaraciju dodelimo za sve elemente tog tipa.
Na primer:ako imamo paragraf koji, kao što znamo, dodajemo pomoću <p> elementa, svim
paragrafima možemo dodeliti, npr. boju slova da bude plava i veličina fonta na 14px:
p{
color: blue;
font-size: 14px;
}
Umesto <p> taga, možete ubaciti bilo koji i dodeliti mu vrednosti koje želite. Na promer:
<h1>,
<div>,
<section>...
ID selektori
ID selektori se koriste da se definišu stilovi za jedan unikatan element iz razloga što, kao
što smo rekli, jedinstveni ID možemo dodeliti samo jednom elementu (da ne dođe do
zabune svaki element može imati ID, ali ne sme imati isti).
Klasa selektor
Klasa selektor se koristi bukvalno isto kao i ID, imaju sličnu sintaksu, samo što se umesto
# (tarabe) stavlja . (tačka) i ovaj selektor ćemo najviše koristiti, jer nam klase omogućavaju
dodelu na više elemenata, što nije slučaj sa ID-jem.
To je zapravo suštinska razlika između ova dva tipa selektora - što se class selektori
primenjuju na jedan ili više elemenata na stranici, dok se ID selektor primenjuje
isključivo na jedan element.
i onda nam svi podnaslovi imaju veličinu fonta od 26px i donju marginu od 10px.
Selektori za ugnežđene elemente
Selektori za ugneždene elemente se koriste da definišemo, npr. za linkove čiji je kontejner
div sa određenom klasom želimo da dodelimo neki stil. Deluje malo konfuzno, ali da bismo
najbolje pojasnili ovo, pogledajte HTML kod ispod:
<!-- Navigacija strane -->
<div class="zaglavlje-navigacija">
<a class="navigacija" href="o-nama.html">O nama</a>
<a class="navigacija" href="galerija.html">Galerija</a>
<a class="navigacija" href="kontakt.html">Kontakt</a>
</div>
<!-- navigacija kraj -->
vidimo da ima tri linka u elementu <nav> sa klasom zagljavlje-navigacija i sad ako mi,
preko globalnog atributa, dodelimo neke stilove, npr. a{ neki stilovi } oni će se primeniti na
sve linkove na strani, a nama to u ovom slučaju nije potrebno. Šta ćemo sada da radimo?
1. Da svakom linku dodelimo neku klasu (što Vam može nekad biti naporno).
Prvi primer je objašnjen malopre, tako da smo ovde na drugom primeru i ovde ćemo Vam
napisati dva koda, pa ćemo analizirati i jedan i drugi.
nav a{
font-size: 16px;
}
nav.zaglavlje a{
font-size: 16px;
}
U prvom slučaju, svi nav elementi na vašoj strani u kojima se nalazi neki link (a element)
će dobiti svojstvo veličine fonta od 16px.
U drugom slučaju će samo linkovi koji se nalaze unutar nav elementa koji ima klasu
zaglavlje dobiti svojstvo veličine fonta od 16px.
Sada se možda pitate zašto nam je ovo potrebno. Evo jednog prostog primera. Imate
nekoliko različitih vrsta navigacija na sajtu i sad svaku treba da stilizujete tako da su linkovi
plave boje sa sivom pozadinom, na primer, i to radite na sledeći način:
nav a{
color: blue;
background: #eee;
}
I pored toga imate neku navigaciju za koju želite da ima svojstva svih navigacija, međutim
da joj veličina fonta bude 20px i onda umesto da kuckate opet color i background, za tu
možete jednostavno dodati klasu na nav element:
nav.posebna a{
font-size: 20px;
}
Što se ovog nadovezivanja tiče, umesto klase može stajati i ID, samo što biste
onda umesto tačke pisali tarabu (nav#neki_id).
Da ne bude zabune, ovo pravilo važi za sve elemente, a ovde je za primer uzet nav, tako da
može biti i:
div.klasa,
p.klasa,
a#id...
„Dete“ selektor
„Dete“ selektor nam služi da tačno pokažemo od roditelja prema deci (odnosno
ugneždenim elementima) koji element želimo da stilizujemo. Pre svega, pogledajte sliku da
razjasnimo ko je kome ovde dete:
Ovde je bojom razdvojeno ko je kome dete, pa da zaključimo da:
Znači, dete nekog elementa je onaj element koji je odmah prvi u njemu
i sve tako hijerarhijski.
„Dete“ selektor je > (veće manje znak) i njega upotrebljavamo na sledeći način. Hoćemo da
selektujemo header i dodamo mu visinu od 100px:
.zaglavlje > .zaglavlje-naslov{
height: 100px;
}
div.zaglavlje > header.zaglavlje-naslov{
height: 100px;
}
div.zaglavlje > header{
height: 100px;
}
div.zaglavlje > .zaglavlje-naslov{
height: 100px;
}
.zaglavlje > header{
height: 100px;
}
Svih pet primera nam rade istu stvar (dodeljuju visinu header elementu od 100px), samo
smo napisali nekoliko načina (sa „dete“ selektorom, možda ima još koji) da otprilike
povežete kako selektori funkcionišu.
.zaglavlje > header a{ ... } – svi linkovi u elementu header, čiji je roditelj element sa klasom
.zaglavlje;
ul > li a { .... } – svi linkovi unutar taga li, čiji je roditelj ul;
ul li a > i { ... } – svi elementi čiji je roditelj a, a nalaze se unutar li taga, koji se nalazi negde
unutar ul taga
i tako dalje.
„Susedni“ selektori
„Susedni“ selektori se pišu pomoću znaka + (plus), a da bismo ih razjasnili biće nam opet
potreban HTML kod kao primer:
Ovaj selektor se koristi u formi ELEMENT1 + ELEMENT2, gde stilizujemo ELEMENT2 koji
je odmah posle ELEMENT1 (ako je pre neće biti stilizovan). U slučaju sa slike, dodali
smo dva selektora na ovaj način i stilizovali paragraf odmah ispod naslova i link ispod
div elementa, kao što možete videti.
Da ste dodali kod stilizovanja linka selektor p + div + a, takođe bi se stilizovao link, jer je
pre div elementa element p.
ELEMENT1 ~ ELEMENT2, što znači svi ELEMENT2 ispod ELEMENT1 će biti stilizovani, a
ne samo prvi, što je bio slučaj sa prethodnim selektorom. Zadatak za vas je da u
prethodnom primeru umesto h1 + p stavite h1 ~ p i vidite šta će se desiti.
Boja teksta
Sva četiri načina su identična i na ta četiri načina možede dodeljivati vrednosti za koje ide
neka boja.
4. RGBA vrednost boje – RGB vrednost + 4 broj označava providnost (opacity) i ide u
opsegu od 0 do 1.
Pozadine
Background Size
Podešavanje veličine pozadine koja će Vam trebati, kako bi se vaša pozadinska slika
uklopila različitim uređajima se može podesiti na više načina:
u procentima takođe prva vrednost označava širinu, a druga visinu i ako se druga izostavi,
ima vrednost auto. Na primer, ako hoćete da Vam se slika u celosti prikaže bez obzira
kakav je element, podesite vrednost 100% 100%;
contain – slika se poveća do najveće veličine tako da joj širina i dužina budu unutar
elementa (svi delovi se vide ne gube se kao kod cover opcije).
cover – slika se podesi tako da lepo popuni prostor, s tim da se neki delovi slike neće
prikazati (fina je opcija kombinovati ovo i background-attachment: fixed).
background-color
background-image
background-repeat
background-attachment
background-position.
Background Color
Ova opcija se koristi kada hoćemo da dodelimo nekom elementu pozadinu i za njene
vrednosti možemo dodati boje na jedan od četiri načina koje smo naveli u prethodnoj
lekciji.
Kod bi izgledao ovako, ukoliko želimo da dodamo neku sivkastu pozadinu za celu stranu:
body{
background: #eeeeee;
}
Background Image
Ova opcija služi da nekom elementu dodamo sliku kao pozadinu i kod bi izgledao ovako:
.zaglavlje{
background-image: url("../img/zaglavlje.jpeg");
}
Pomoću url(“...”) definišemo putanju do naše slike. Ukoliko niste upoznati se definisanjem
putanje onda to možete uraditi na nekoliko načina:
Kod prve opcije smo naveli link do slike sa sajta https://www.pexels.com/, koji ima
fantastične slike, ukoliko Vam zatrebaju za sajt. :) Kod druge opcije bih se zadržao i
detaljnije je razjasnio, jer će Vam trebati više nego link.
vi se trenutno nalazite u folderu gde je vaš CSS fajl što znači u CSS folderu (bela linija /
okvir):
ama je neophodno da se vratite jedan folder iznad, tj. da izađete iz CSS foldera kako biste
ušli u img folder i to radite pomoću; ../. Nakon te komande ste u vašem „home“
direktorijumu i tu Vam se nalaze svi folderi i fajlovi.
Sada treba da uđemo u img folder, pa nadovezujemo na našu putanju img/ i ona će
izgledati ovako; ../img/ Nakon toga, u img folderu pronalazite sliku i njen naziv sa
ekstenzijom nadovezujete takođe i dolazite tako do konačne putanje: ../img/zaglavlje.jpeg i
tu putanju unosite u CSS kod.
Background Repeat
Kada se kao pozadinska slika neke stranice postavi slika koja je po dimenzijama (dužini i
širini) manja od stranice, tada web čitač tu sliku ponavlja duž horizontalne i vertikalne ose.
Po difoltu, background-repeat ima svojstvo da ponavlja sliku i horizontalno i vertikalno
dokle god ne ispuni širinu i visinu elementa koji se stilizuje.
no-repeat – ne ponavlja.
Repeat opcija se najčešće koristi ukoliko imate neku teksturu kao pozadinu, pa ona treba
da se ponavlja, odnosno poploča, dok repeat-x i repeat-y su malo manje
zastupljene vrednosti.
i na ovaj način smo stilizovali element sa klasom zaglavlje da nam na pozadini bude
slika zaglavlje.jpeg koja se ne ponavlja.
Background Attachment
Ova opcija nam omogućava da fiksiramo našu sliku koju smo postavili kao pozadinu kada
se skroluje (nešto nalik parallax-u ko je upoznat sa tim). Vrlo interesantna opcija sa kojom
se može dizajn stranice učiniti još više zanimljivim i neobičnim.
Ova opcija se koristi na sledeći način:
.zaglavlje{
background-image: url("../img/zaglavlje.jpeg");
background-repeat: no-repeat;
background-attachment: fixed;
}
Background Position
Background Position koristimo da podesimo poziciju slike koju smo postavili kao
pozadinu pomoću background-image opcije. Ako ova vrednost nije podešena, po difoltu će
slika u svojoj originalnoj veličini biti podešena u gornjem levom uglu elementa koji stilizujete.
left top
left center
left bottom
right top
right center
right bottom
center top
center center
center bottom
(ukoliko za vrednost postavite samo jednu vrednost, tj. samo left, druga vrednost će biti
center i to je isto kao da ste napisali left center)
x% y% - na primer 0% 0% je gornji levi ugao, 100% 100% je donji desni, ako definišete
samo jednu vrednost druga je 50% kao podrazumevana.
Fontovi
U CSS imamo nekoliko opcija sa kojima možemo stilizovati font teksta na stranici, kao što
su:
font-family,
font-size,
font-weight...
Font Family
Font Family nam služi da postavimo koji želimo font da koristimo. Kada koristimo ovu
opciju najbolje bi bilo da stavimo više od jednog fonta, jer u slučaju da jedan ne može da
se podrži, onda će se koristiti prvi sledeći.
Ovim stilom smo dodelili svim naslovima (od h1 do h6) font Times New Roman. U slučaju
da on iz nekog razloga ne može da se normalno učita, koristiće se font Times, a u slučaju
da ni on ne može onda spadamo na poslednji, odnosno u ovom slučaju Serif.
Ukoliko naziv vašeg fonta sadrži više od dve reči kao u našem slučaju Times New Roman
on mora ići pod znake navoda.
Verovatno ćete retko kad koristiti fontove koji već postoje u CSS-u,
tako da preporučujemo Google fonts.
Idite na Google Fonts.
Pronađite font koji želite i kliknite na crveni kružić sa ikonicom plus da Vam se željeni font
prikaže u donjem desnom uglu:
Sada kliknite na taj crni panel koji Vam se prikazao (na gornjoj slici strelica ukazuje na
njega).
Idite na tab „CUSTOMIZE“ i štiklirajte opcije koje su Vam potrebne (možete izabrati debljinu
fonta, podršku za latinične i ćirilične karaktere ukoliko poseduje itd).
Vratite se na tab „EMBED“ i tu ćete videti kod za povezivanje ovog fonta sa vašom
stranicom i CSS kod koji treba da ubacite kako bi se font primenio na elemente.
Primetićete da imate opciju kod koda za povezivanje „STANDARD“ i „@IMPORT“.
Budući da Vam je verovatno opcija „STANDARD“ već poznata (ovaj kod stavljate u head
element) želli bismo ovom prilikom da pojasnimo za šta služi @import.
@import opcija
Ova opcija iće Vam od velike koristi kada budemo radili SASS, jer se tako formira grupa
fajlova koje znatno olakšavaju stilizovanje vašeg sajta. Import opcija može imati vrednosti,
kao što smo i pričali za link element, znači:
Možda se neki pitaju: zašto ne bismo koristili jednostavno nama poznatu opciju koju nam
ovde pruža „STANDARD“, tab odnosno link element? Evo odgovora...
Je l' se sećate kad smo pričali da je loša praksa pisati CSS u HTML-u na svakoj strani
zasebno zbog izmena? E tako je i sa fontom, zamislite imate 30 strana u kojima ste preko
link taga podesili vaš font, npr. na Roboto i odjednom hoćete da ga promenite ili mu dodate
još jednu opciju. Jao, muke ulazi u 30 fajlova, menjaj, pazi da nisi zaboravio negde!
Zato mimoilazimo ovu opciju odmah u startu i lakše nam je da u tih 30 fajlova dodamo link
tag koji nam povezuje CSS fajl, a u njemu samo na jednom mestu pomoću @import opcije
dodamo naš font. I računica je jednostavna:
duplo manje koda (u html bi trebalo 60 linija ovako imamo 30 linija koda + 1 u css-u).
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&subset=la
tin-ext');
Font Size
Sa ovim stilom smo se već ranije susreli u nekim od prethodnih primera, ali da ga
razjasnimo i naučimo nešto novo što nam ovaj stil pruža. Dakle, verovatno je svima jasno
da ovim stilom definišemo veličinu fonta.
Neke vrednosti koje nisu izražene u nekim jedinicama, već postoje u CSS-u su:
xx-small,
x-small,
small,
medium,
large,
x-large,
xx-large i
preporučujem Vam da ih isprobate, ali upotreba im nije tako česta, jer će Vam najviše
trebati opcija da podesite veličinu fonta tačno u piksel.
Pored piksela (px) postoji još dosta jedinica koje možete koristiti da prilagodite, kako
veličinu vašeg teksta, tako kasnije i drugih elemenata (širinu, visinu, margine, uvlačenja itd),
tako da nije uskovezana za veličinu fonta.
Promenljive jedinice koje je preporučljivo koristiti radi boljeg prikaza stranice na različitim
uređajima:
em – u odnosu na font-size 2em je vrednost 2x većeg od trenutnog fonta;
ch – u odnosu na širinu;
vw – 1vw = 1% širine vašeg prozora (znači 100vw je 100% širine vašeg prozora);
vh – 1vh = 1% visine vašeg prozora (znači 100vh je 100% visine vašeg prozora);
% - veličina u procentima.
Najčešće ćete koristiti em, vw, vh i %, ali preporučujemo Vam da ih sve isprobate i steknete
osećaj koliko koja jedinica zauzima prostora i da imate otprilike u glavi kad koju treba
upotrebiti.
Jedinice za fiksne veličine (one koje ne zavise od nekih drugih faktora) su:
cm,
mm,
in,
px,
pt,
pc.
Font weight
Font weight opcija nam služi da postavimo debljinu našeg fonta, a neke od vrednosti koje
možete koristiti su:
normal,
bold,
bolder,
lighter,
100, 200, 300, 400, 500, 600, 700, 800, 900,
inherit.
Numeričke vrednosti od 100 do 900 predstavljaju debljinu fonta od najtanjeg
(100) do najdebljeg (900), s tim da nam je: 400 = normal vrednost, a 700 = bold vrednost.
Pošto smo malopre objasnili kako se koriste Google fontovi, bilo bi dobro da obratite pažnju
koje ste vrednosti za font weight štiklirali na početku, ukoliko se ne sećate, možete ih lako
pročitati iz linka i samo te koristite kako biste došli do željenog izgleda.
Naš link je
bio: https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&subset=latin-ext
tako da je jasno da imamo na raspolaganju vrednosti 300, 400, 500 i 700. Nemojte ručno u
link nikad dodavati nove vrednosti, jer ih možda taj font ne podržava, uvek prego
Google fonts sajta izgenerišite link.
Tekst
Za formatiranje teksta CSS nam nudi nekoliko opcija pomoću kojih ravnate tekst, uvlačite
redove, podešavate dekoraciju teksta, razmak između redova itd.
Text Align
Ravnanje teksta horizontalno može biti: left, center, right, justify. Korišćenje ove opcije je
vrlo jednostavno i izgleda ovako:
Text Decoration
Dekoracija teksta nam služi da postavimo ili uklonimo neku dekoraciju sa teksta kao što
je podvučen, precrtan tekst, linija iznad teksta itd. Vrednosti koje možemo dodeliti su>
none,
underline,
overline,
line-through,
blink,
inherit.
Koriste se na sledeći način:
a{
text-decoration: none;
}
span{
text-decoration: line-through;
}
Text Transform
Transformacija teksta nam služi da postavimo tekst unutar nekog elementa da bude:
Verovatno se sad pitate za šta će ovo nama, kada možemo jednostavno uneti, npr.
za naslove - sva velika slova. Da, naravno, možete, ali kad kasnije naučimo nešto PHP-a
i MySQL-a i napravite web aplikaciju gde korisnici sami unose naslove, sadržaj i slično,
kako ćete njih naterati da unesu sve velikim slovima?
Sad opet ima odgovor na to, pa možemo preko JavaScript-a ili u PHP pre čuvanja u bazi
da prebacimo sve na velika slova, da možete i tako. Ali, šta ćemo ako prebacite sve u velika
slova i posle mesec dana menjate dizajn u koji se ne uklapaju sva velika slova?
Eto muke vaše gde treba posle veliko, a gde malo u naslovu, pa prepravljaj sve, :) Eto,
nadamo se da polako kapirate kako treba sagledavati problem (zato smo učili Paju da kuva
kafu u osnovama programiranja, da biste naučili kako da sagledate problem sa
pitanjem „Šta ako?“).
Text Ident
Pomoću ove opcije uvlačimo prvi red našeg teksta za vrednost koju smo postavili u
procentima ili nekoj drugoj vrednosti koje smo objasnili u nekoj od prethodnih lekcija (px,
em...).
Line Height
Line height nam omogućava da postavimo razmak između redova u tekstu. Njene
vrednosti mogu biti podešene u:
procentima,
brojevima ili
nekom vrednošću izražene u jedinicama koje smo radili.
Kada koristimo broj za vrednost ovog stila, on se izračunava po sledećoj formuli:
font-size: 20px, a
line-height: 2
onda je to isto kao da smo napisali da je line-heigh: 40px.
1. a:link – još nije korisnik kliknuo na njega odnosno pogledao šta se nalazi na tom linku;
4. a:active – u procesu klikanja (od trenutka kad korisnik klikne na link i ne pusti).
Nemojte da vas buni što uz link pišemo, npr. :hover ove dve tačke i sve
posle toga su pseudo klase za element koji se nalazi pre : (dve tačke).
Za sad se nećemo zadržavati na razjašnjenju pseudo klasa, jer će biti posebna lekcija samo
za to.
1. :link,
2. :visited,
3. :hover,
4. :active.
a:link{
color: #000000;
}
a:visited{
color: blue;
}
a:hover{
color: rgba(0, 0, 0, .5);
}
a:active{
color: #555;
}
Kod poslednja dva primera vas možda zbunjuje ova vrednost .5 i #555, pa da razjasnimo:
ako napišete za bilo koju vrednost .5 to je isto kao i da ste napisali 0.5. Znači, nula nije
obavezna;
ako ne dovršite HEX boju i napišete samo, npr. #555 onda je to isto kao da ste
napisali #555555. Znači samo se nadovežu prva tri koja ste napisali.
Liste
Kao što znamo postoje tri vrste lista u HTML -u (unordered, ordered, definition). CSS nam
pruža nekoliko opcija da stilizujemo najčešće unordered i ordered liste. Neke od
tih opcija su:
kružić,
kvadratić,
rimske brojeve,
latinična slova itd.
pomoću opcije list-style-type:
ul{
list-style-type: square;
}
ol{
list-style-type: decimal-leading-zero;
}
Ukoliko koristite Brackets ili neki napredniji editor, mogli ste primetiti da prilikom kucanja
CSS koda, editor Vam sam izbacuje ponuđene vrednosti tako da Vam to može
znatno olakšati kucanje koda, kao i da naučite neke nove vrednosti koje možda pre nisu
postojale.
Ukoliko, ipak, želite da vaša, npr. unordered lista nema nikakvih markera onda to
postižete sa vrednošću none:
ul{
list-style-type: none;
}
1. inside,
2. outside:
ul li{
background: #CCC;
list-style-position: inside;
}
Vidite da smo ovde izostavili navodnike unutar zagrada kod definisanja putanje, to je
takođe dozvoljeno. Ukoliko koristite ovu opciju, bilo bi dobro da istestirate na svim
pretraživačima.
Često može doći do odstupanja i neće se dobiti rezultat koji želite svuda isto. Rešenje
za ovaj problem je da malo improvizujemo prethodno stečeno znanje
i mimoiđemo opciju list-style-image, a pomoću opcija:
list-style-type i
background
podesimo našu sličicu na mesto markera da izgleda isto na većini pretraživača.
U zavisnosti od toga kakvu sliku želite na poziciji markera, možda će Vam trebati
opcija background-size, a možda i ne. Takođe, možda budete morali da malo promenite
vrednosti za background-position, jer ne mogu vam odrediti tačne vrednosti, zato što se
one razlikuju od slike do slike.
Opcija padding -left inače služi da uvučemo sadržaj elementa sa leve strane, u ovom
slučaju za 20px,ali više o tome u narednim lekcijama kad budemo samo padding radili.
Boks
Svaki HTML element na vašoj stranici se sastoji od jednog ili više pravouganih
kutija. CSS -om se obično definiše kakve su to kutije, odnosno:
kolika im je širina,
visina,
udaljenost od drugih elemenata (margin),
linija koja uokviruje element (border) i
uvlačenje (padding).
Kako bismo Vam što bolje objasnili ova svojstva kreirali smo jedan običan boks
pomoću div elementa sa klasom boks i on izgleda ovako:
Uporedno pratite analizu koda sa slikom i delom HTML i CSS na slici.
margin left + border left + padding left + width + padding right + border right + margin
right
Slično je i za visinu, samo umesto left i right, ide top i bottom i umesto
width, ide height.
Za ovu lekciju je bitno samo da razgraničite: gde šta ide, a u naredne tri lekcije ćemo reći
nešto više o margin, padding i border svojstvima.
Margine
Sa marginama smo se upoznali u prošloj lekciji i nadamo se da je jasno gde se ona nalazi.
Znači, ona odvaja element za koji se postavlja margina od ostalih elemenata.
1. gornja,
2. desna,
3. donja,
4. leva.
Jasno je koju smo vrednost za koju marginu postavili, ali se ovo skraćeno može zapisati i
na sledeći način:
.element{
/* Duzi nacin */
margin-top: 10px;
margin-right: 20px;
margin-bottom: 5px;
margin-left: 15px;
/* Kraci nacin */
margin: 10px 20px 5px 15px;
}
Prva stvar koja vam verovatno zapada za oči su ove kose crte i zvezdice. To
su komentari u CSS-u. :) Kao što smo učili da treba pisati komentare u HTML -u, to je
takođe bitno raditi i u CSS-u, jer ćete po fajlu imati verovatno na hiljade linija koda, pa je
bitno dobro organizovati kod.
/* KOMENTAR */
E sad, postoji još i kraći način (u zavisnosti kakve su Vam margine potrebne), ako se
setite u prošloj lekciji smo stavili margin: 50px; pa postoje neka pravila ako izostavite
ostale vrednosti:
margin: 50px; = margin: 50px 50px 50px 50px; - ako postavimo jednu vrednost ona će
se primeniti i na sve ostale;
margin: 50px 20px; = margin: 50px 20px 50px 20px; - ako postavimo dve vrednosti one
su nam za margin-top i margin-right i onda se preslikava na sledeći način:
1. margin-top = margin-bottom
2. margin-right = margin-left
margin: 50px 20px 10px; = margin: 50px 20px 10px 20px; - ako postavimo tri vrednosti
onda će se ona druga primeniti na četvrtu, kao iz prethodnog primera po pravilu margin-
right = margin-left.
Padding
Sa CSS -om, svakom elementu se može dodeliti još jedna vrsta praznog prostora koja
se na engleskom jeziku zove padding.
Kao kod margina, opcija padding se može postaviti sa svih strana, različito pomoću:
1. padding-top,
2. padding-right,
3. padding-bottom,
4. padding-left ili
5. skraćenog zapisa koji važi kao kod margina:
padding: padding-top padding-right padding-bottom padding-left;
Gde je izostavljena jedna vrednost, dobija vrednost na osnovu pravila koje smo objasnili u
lekciji margine.
i na ovaj način smo postavili gornji i donji na 50px, a desni i levi na 20px. Ova opcija se
koristi kada treba da uvučete sadržaj u osnovu na ivice elementa.
Border
Border opcija nam omogućava da definišemo kako će izgledati okvir našeg elementa,
odnosno linija koja ga okružuje. Može biti:
neisprekidana linija,
isprekidana,
slika itd.
Pre svega, da napomenemo da ovaj stil nije obavezan i ukoliko ga izostavite, naravno
nećete imati nikakav okvir oko vašeg elementa.
Za korišćenje ove opcije možemo da postavimo vrednosti za tri svojstva:
1. border-style – stil linije (solid, dashed, none, hidden, dotted, double, groove, inset, outset,
ridge);
CSS kod za, na primer, isprekidanu liniju debljine 5px, plave boje bi izgledao ovako:
.element{
border-width: 5px;
border-style: dashed;
border-color: blue;
/* ILI SKRACENO */
border: 5px dashed blue;
}
Možete videti i da se ovo svojstvo može zapisati u skraćenom obliku na sledeći način:
border: border-width border-style border-color;
CSS u praksi
U ovoj lekciji ćemo isprobati neke stilove koje smo do sad naučili i malo ulepšati našu
stranu. Već u narednom nivou ćemo ovladati tehnikama kreiranja rasporeda pomoću CSS -
a, responsive dizajna i sličnih stvari koje će nam pomoći da dovedemo sajt na viši nivo.
Mi ćemo stilizovati našu index.html stranu koju smo napravili kroz ovaj kurs sa možda
nekim korekcijama koje ćemo napomenuti, ali da krenemo deo po deo.
body{
font-family: 'Roboto', sans-serif;
padding: 0;
margin: 0;
background: #eee;
}
a{
text-decoration: none;
}
Ovo su neki globalni stilovi koje smo postavili, svi su nam već poznati, a cilj i je bio da
uklonimo nepotrebne margine i linkovi da ne budu podvučeni. Uz to smo dodali
font i pozadinu na body element, odnosno celu stranicu od vrha do dna.
Ovde smo dodali nekoliko stilova sa pozadinom kako bismo je učinili interesantnom. Prvo
smo dodali glavni element div sa klasom zaglavlje i njemu podesio sliku za pozadinu.
Nakon toga, u njemu smo kreirali još jedan element sa providnom pozadinom, pomoću
opcije rgba, jer kao što smo rekli, onaj četvrti broj nam određuje providnost (od 0 do 1 gde
je 1 neprovidno a 0 providno). Isto smo i nav elementu dodali providnu, ali belu pozadinu.
Outline opcija je vrlo slična Border opciji koju smo obradili u prethodnom nivou. Čak se i
vrednosti na isti način dodeljuju, pa da se prisetimo skraćenog oblika u ovom slučaju:
div{
outline: 4px solid #123222;
}
Gde vrednosti dodeljujemo po sledećem redosledu: širina - stil - boja. Sada, ukoliko
isprobate i postavite na neki vaš element outline po gornjim instrukcijama, verovatno ćete
se zapitati koja je razlika u odnosu na Border opciju, tako da ćemo sad nabrojati glavne
razlike ove dve opcije:
Ne zauzimaju dodatan prostor, uvek se nalaze na ivicama boksa što može dovesti do
preklapanja sa nekim drugim elementima.
Za razliku od Border opcije, gde smo mogli da podešavamo za svaku stranicu različite
vrednosti (gore, desno, dole, levo), kod Outline opcije možemo
postaviti samo jednu vrednost za sve stranice.
Ne menjaju veličinu elementa (ko što je slučaj bio kod border opcije kada smo morali da
računamo i njenu veličinu kako bismo dobili konačnu).
Samo kratko da se podsetimo ukoliko ne koristimo skraćen zapis imamo postavke za:
outline-width – vrednost iskazana nekom jedinicom koje smo spominjali (px, pt, em...);
outline-style – stil outline-a (none, hidden, dotted, dashed, solid, double, groove, ridge,
inset, outset);
CSS – Cursor
Cursor opcija nam omogućava da promenimo podrazumevan pokazivač miša kad
prelazimo preko određenih elemenata.
CSS – Overflow
Pomoću overflow opcije definišemo kako će se naš element ponašati ukoliko izlazi iz nekog
svog okvira koji je predviđen za njega. Da bude jasnije pogledajte sledeću sliku:
Sa leve strane možete videti rezultat HTML koda. Možete zaključiti da imamo div element
kojem smo podesili da je visina 100px i stavili mu pozadinu #aaa i na slici ćete primetiti taj
deo (označen je i strelicom).
E sad, vaš zadatak je da ispod ovog div elementa sa klasom overflow dodate još neki
element, npr. p element sa vašim odgovorom na pitanje i da vidite šta će se desiti.
Došlo je do preklapanja ovog dela koji ispada iz div elementa sa p elementom. To možete
rešiti pomoću overflow opcije koja nam nudi sledeće vrednosti:
scroll – sadržaj koji je izvan okvira se neće prikazivat,i ali naš element dobija scroll opciju
tako da ga možemo videti ukoliko skrolujemo unutar elementa;
auto – ukoliko nam sadržaj ispada izvan okvira onda će se pojaviti scroll opcija, a ukoliko
ne, ispada scroll opcija je sakrivena.
Pored same overflow opcije koja nam služi da odredimo kako će se ponašati i po x i y
osi možemo ih definisati i zasebno sa različitim vrednostima na sledeći način:
div.overflow{
height: 100px;
background: #aaa;
overflow-x: hidden;
overflow-y: auto;
}
Display
Pre nego što pređemo na opisivanje Display opcije hteli bismo prvo da vas uvedemo u celu
tu priču pozicioniranja elementa. Sa ovom opcijom, odnosno lekcijom krećemo da
pakujemo elemente na strani onako kako ste zamislili.
dimenzije elemenat,
pozicioniranje elemenata,
paragrafi (p),
naslov (h1-h6),
division (div) i
drugi slični.
Svaki blok element može u sebi sadržati inline ili druge block level
elemente.
Inline level elementi po difoltu (bez CSS-a) zauzimaju onoliko prostora koliko je
taj sadržaj u njima. Da bude jasnije, za razliku od block level elemenata, inline elementi ne
forsiraju prelome linija (da ne može ništa sa leve i desne strane da im bude).
em,
span,
strong itd.
Inline elementi obično ne sadrže druge blok elemente već samo druge
inline elemente ili neki tekst.
Da bude jasnije za primer uzmite dva div elementa i u jedan ubacite vaše ime, a u drugi
vaše prezime i vidite šta će se desiti, a posle toga isto to uradite samo
sa span elementima.
Sada ćemo Vam pomoću CSS-a i display opcije koji nam on nudi pokazati kako
da menjate ove podrazumevane vrednosti i dodelite vašem elementu baš onu koja Vam
je potrebna za željeno stilizovanje.
Display opciji možemo dodeliti nekoliko osnovnih vrednosti, kao što su:
block,
inline,
inline-block,
none,
dok neke naprednije, kao što su flex ćemo tek obraditi u nekoj od narednih lekcija.
Display Block
Ova opcija je podrazumevana za elemente koji se svrstavaju u blok elemente koje smo
na početku lekcije objasnili, tako da nema potrebe da, npr. div elementu dodeljujemo stil
display: block, dok na primer elementima iz grupe inline level će nam nekad biti potrebno,
pa to radimo na sledeći način:
a.block{
display: block;
}
i na ovaj način smo svim a elementima sa klasom block dodelili da budu blok elementi.
Sada tom linku možete postavit:
visinu,
širinu,
padding,
margine i
ostale stvari koje ste mogli do sad block level elementima.
Uzeli smo za primer a element, jer ćete ovu opciju najčešće koristiti kod njega, na primer,
ukoliko imate neku bočnu traku (sidebar) na stranici i kad ubacite samo link on će biti
veličine kolika je dužina teksta, a vama je potrebno da taj link zauzima punu širinu bočne
trake i to biste odradili display opcijom, podesite malo padding i savršeno :)
Sa druge strane ako imamo neki paragraf (ili neki drugi element iz blok levela), a
neophodno nam je da on bude inline to ćemo uraditi na sledeći način:
p.inline{
display: inline;
}
Pored opcije display:block i display:inline bilo bi dobro kada bismo imali nešto između,
da bude inline, a da ipak možemo da mu podesimo visinu, širinu, marginu i slično, pa
shodno tome, CSS je uveo i opciju display: inline-block koja je kombinacija
gorenavedenih block i inline opcija.
Takođe, možete primetiti kako radi display-block kao kombinacija block i inline.
I još jedna od osnovnih vrednosti za stil display je none. Koristi se na sledeći način:
.none{
display: none;
}
Kada koristimo ovu opciju element koji stilizujemo neće se prikazivati (kao ni elementi
unutar njega). Često se koristi, na primer, ako imate neki padajući meni pa mu
dodelite display: none, a kad se klikne na njega preko JS-a mu dodelite display: block ili
preko CSS-a kad se pređe mišem da se prikaže meni.
Visibility
Pomoću ove opcije možemo odrediti koji će nam element biti vidljiv na strani, a koji
ne. Vrednosti koje možemo dodeliti ovom stilu su:
collapse – ceo red ili kolona se sakrivaju, primenjuje se za redove, grupe redova, kolone i
grupe kolona (kod tabela);
inherit – preuzima vrednost svog roditelja (ako je element iznad njega sakriven i on će
biti).
Sada se možda pitate koja je razlika između display:none i visibility: hidden, pa evo
odgovora:
Pozicioniranje elemenata je veoma bitno kako biste došli do željenog izgleda, pa je dobro
razumeti i istražiti ovu opciju što više. Sa njom možete da odradite mnogo stvari, a mi ćemo
se potruditi kroz neke primere da vam ukažemo na to kako koja vrednost funkcioniše.
static (podrazumevano),
relative,
absolute i
fixed.
Position staticje podrazumevana vrednost, na nju ne utiču stilovi, kao što su:
top,
right,
bottom,
left i
z-index.
Position relative
Kod ove vrednosti naš element zadržava poziciju tu gde jeste, s tim da mu
možemo dodeliti vrednosti, kao što su:
top,
right,
bottom,
left i
z-index.
Pomoću ove vrednosti mi možemo preklapati jedne elemente sa drugima. Međutim, onaj
prvobitan prostor, rezervisan za taj element, se ne smanjuje i ne pomera, već ostaje isti.
Pre nego što nastavimo dalje, primetili ste verovatno nekoliko novih pojmova kao što
su: top, right, bottom i left koje ćemo sad pojasnit,i dok ćemo z-index ostaviti za kraj ove
lekcije. Pomoću ovih vrednosti pomeramo element za zadatu vrednost.
Position Absolute
Malo je teže objasniti ovaj stil bez primera, ali neka neka okvirna definicija bude da
se element pozicionira sa absolute vrednosti i postavlja unutar prvog pozocioniranog
elementa, kao da je relative.
Imamo crveni boks sa nekim sadržajem koji smo pozicionirali relativno i unutar njega smo
ubacili jedan element (beli) koji smo apsolutno pozicionirali i podesili mu gde se odnosi
na .relative element pomoću top i left stilova.
Da nismo crvenom boksu dodelili position:relative, beli boks bi nam se pozicionirao
po top i left vrednostima u odnosu na prozor (dokument) strane u slučaju da nema roditelja
koji je pozicioniran.
U ovom kodu možete primetiti da smo dodali još jednu novu vrednost, a to je z-index. Z-
index možemo primeniti samo na pozicioniranim elemntima koja imaju vrednosti:
1. relative,
2. absolute ili
3. fixed.
Služi nam da se igramo sa slojevima (layers) i element sa većom vrednošću z-index će
biti bliži nama, odnosno biće vidljiiji.
Zadatak za vas je da nekom elementu dodelite z-index 11 i vidite šta će se desiti sa vašom
navigacijom. Ne zaboravite pre toga da pozicionirate element! Mi smo našem naslovu
dodali position:
i dobili sledeće:
Float
Pomoću float opcije možemo „gurnuti“ elemente u levu ili desnu stranu. Ova opcija se
može koristiti na svim elementima koja nisu pozicionirana
apsolutno (position:absolute).
Ukoliko želite da prelomite kod nekog elementa i da tu ide nov red, a ne da se nadoveže
na već poređane elemente, koristi se opcija clear.
U ovom slučaju gde koristimo float: left clear opcija bi izgledala ovako:
.clear{
clear: left;
}
Pozicioniranje
Ukoliko imate element neki na strani za koji želite da mu širina bude 400px, verovatno
znate kako ćete to uraditi, prosto i jednostavno:
.element{
width: 400px;
}
I sad pogledate vaš ekran i vidite da je vaš element prilepljen uz levu ivicu ekrana, a
vama je potreban baš centriran.
Zato imamo vrednost auto kod margine koja će ga izravnjati na sledeći način:
.element{
width: 400px;
margin: auto;
}
block ili
inline-block elementom.
Kod nekih modernijih sajtova možete videti početni ekran sa navigacijom, dobrodošlicom
preko celog ekrana i obično negde pri dnu ima ikonica ili dugme za skrolovanje. Kako
podesiti da uvek bude baš tu dole centrirana na svim ekranima? Pa, hajde da napravimo i
naše zaglavlje da bude preko cele strane.
Ukoliko ste donekle pratili naš raspored elemenata, trebalo bi da dobijete ovakvo zaglavlje:
<div class="skrol">
<a href="#glavni">Pogledaj više</a>
</div>
</div>
</div>
<!-- zaglavlje - kraj -->
.zaglavlje—pozadina{
background: rgba(0, 0, 0, .5);
text—align: center;
min—height: 100vh;
position: relative;
}
.zaglavlje—navigacija{
left: 0;
right: 0;
top: 0;
z—index: 10;
padding: 15px 30px;
}
.zaglavlje—navigacija a{
color: white;
font—weight: 500;
display: inline—block;
padding: 5px 10px;
}
.zaglavlje—navigacija a:hover{
color: #aaa;
}
.zaglavlje—naslov{
padding: 35vh 0 0;
}
.zaglavlje—naslov h1{
color: white;
font—size: 3em;
text—transform: uppercase;
}
.zaglavlje—pozadina .skrol{
position: absolute;
bottom: 15px;
left: 0;
right: 0;
}
.zaglavlje—pozadina .skrol a{
color: white;
display: inline—block;
padding: 5px 15px;
border: 1px solid white;
}
Pseudo-class
prvi,
poslednji ili
neki drugi element u nizu.
Pošto smo već naučili koje pseudo klase imamo
kod linkova (:hover, :active, :link, :visited, :focus), sada ćemo reći nešto više o
selektovanju elemenata iz nekog niza. Uzećemo neku neodređenu listu za primer:
<ul>
<li>Stavka 1</li>
<li>Stavka 2</li>
<li>Stavka 3</li>
<li>Stavka 4</li>
</ul>
Iako je nama potrebno da stilizujemo samo li element, gde je tekst „Stavka 1“, a za njega
nemamo određenu klasu ili id, možemo to uraditi pomoću pseudo klase:
:first-child ili
:first-of-type,
ako nam je potrebna poslednja stavka onda to možemo uraditi pomoću:
:last-child ili
:last-of-type,
dok ako nam je potrebna neka između stavka, to možemo odraditi pomoću :nth-child(N),
gde nam N može predstavljati:
reč (even ili odd) za sve parne ili neparne elemente u nizu,
izraz xn+y, gde su nam x i y brojevi (na primer 1n, 2n, 2n+1...).
Pored toga, ako hoćemo sve sem prvog elementa da selektujemo možemo
koristi :not(:first-of-type), u ovom slučaju na mestu first-of-type se može naći i neki drugi
selektor (klasa, id, globalni selektor itd) koji ne želimo da stilizujemo tim stilom.
Zadatak za vas je da napravite neku listu od 15-ak stavki i da joj dodelite sledeće stilove,
takođe da ih isprobate na razne načine da vidite kako funkcionišu:
/* u svim elementima velicina fonta 15px */
ul li{
font—size: 15px;
}
Pseudo-elements
Pseudo elementi vam omogućavaju da stilizujete neke delove elementa bez dodatnih
elemenata, klasa, id-jeva i sličnih stvari koje bi vaš kod učinili samo težim za čitanje a i
menjanje kasnije. Pseudo elementima, za razliku od pseudo klasa, pristupamo pomoću ::
(dve tačke).
selektor::pseudo-element{...}
Za vas je zadatak da dodate neki tekst na stranicu pomoću paragrafa i dodelite mu klasu
koju želite. Nakon toga u stilovima pomoću pseudo elemenata za prvi red i prvo
slovo stilizujte, npr. da prvo slovo bude veliko i druge boje, a prvi red da bude boldiran.
.klasa::first-letter{ ... },
.klasa::first-line{ ... }.
Mi ćemo se malo više zadržati kod druga dva pseudo elementa: before i after sa kojima
može da se napravi nešto interesantno.
Za sad, mi ćemo doterati zaglavlje još, tako što ćemo ispod naslova dodati još
neki tekst koji je razdvojen crticom. Izgledaće ovako:
position,
right,
left,
bottom...
smo stilizovali crticu da bude širine 30px i visine 5px, a nakon toga je obojili u belu boju.
Kada bismo promenili ::before u ::after dobili bismo isti rezultat, ali ja sad imam za vas
jedan interesantan zadatak.
Potrebno je da koristite oba pseudo elementa, znači i before i after, i pomoću njih da
postavite ovu belu crticu i iznad i ispod teksta.
Responsive
CSS nam nudi mogućnost da pomoću @media opcije stilizujemo stranicu tako da
bude prilagođena svakom uređaju:
1. mobilni,
2. tablet,
3. laptop,
4. desktop....
Koristi se u sledećoj formi:
@media not|only tip and(uslov) { ... }
Na primer, ako želite da stilizujete vašu stranicu za sve uređaje sa maksimalnom širinom
od 500px, to radite na sledeći način:
Pošto se često dešava da nešto ne radi kako treba, neki razmak ste zaboravili u deklaraciji
ili tome slično evo koda pomoću kog možete da testirate da li ste ok podesili
@media opciju:
@media all and (max-width: 500px){
body{
display: none;
}
}
CSS3
Kroz prethodne lekcije smo obrađivali najpoznatije stilove koje ćete svakodnevno koristiti,
pored njih kroz nekoliko lekcija se provlači nekoliko stilova koji spadaju u CSS3, ali to vas
ne treba da brine. Apsolutno nije bitno šta spadau CSS, a šta u CSS3.
background: linear-gradient( pravac, boja1, boja2, ... ); - preporuka da koristite ovaj alat
ili neki sličan za generisanje ovakvih pozadina, jer ih nije jednostavno pisati iz
glave: Gradient Generator
text-overflow: clip | ellipsis; - sakriva nam tekst ukoliko je izvan okvira; koristi se
sa white-space: nowrap; i podešenom širinom width: VREDNOSTpx;
box-shadow: offset-x offset-y blur-radius boja; - vrlo interesantna opcija koju možete na
boksove dodavati, isto preporučujemo generator: Border Radius
transform – služi nam da zumiramo, rotiramo, menjamo pogled na element i još svašta
nešto u 2D ili 3D obliku, takođe preporučujemo neko od onlajn alata: CSS Transform
Generator, CSS 3D Transform
transitions – neophodan stil kada radite sa :hover efektom, jer mu pomoću ove opcije
postavljate da se polako izvršava i bude prijatnije za korisnika, takođe preporučujemo
generator CSS3 Generator (na ovom imate više, pa može da Vam posluži)
animations – animirajte element (na primer, da vam se vrti ili pomera non-stop i slično)
- CSS Animate
box-sizing: border-box; - pomoću ovoga definišemo da nam element ima zadatu širinu
(da se ne sabira border i padding).
Flexboxsmo ostavili za kraj ovog dela, jer bismo želeli da Vam ga objasnimo što je bolje
moguće. Pomoću njega možete kroz nekoliko minuta doći do željenog rasporeda svih
elemenata na strani.
I možete primetiti da su se elementi koji su unutar div .kolona-3 poređali jedan pored
drugog. E sad na red dolaze stilovi koji idu uz display: flex; i pišu se kao stil za div.kolona-
3.
Da li će elementi prelaziti u nov red, ukoliko je širina zauzeta (korisni kod responsive
dizajna) preporučujemo da odaberete vrednost wrap, jer vam je ona verovatno potrebna:
Da odaberete kako će vam elemeti biti poređani po x osi (isrobajte sve vrednosti):
Da odaberete kako će vam elementi biti raspoređeni po y osi (isprobajte sve vrednosti):
Određujemo redosled prikaza elementa (manji broj se pre prikazuje), pa možete staviti da
se drugi div prikazuje pre prvog i slično:
order: <vrednost>;
Određujemo koliki prostor će nam element zauzeti u redu (veći broj - veći prostor):
flex: <vrednost>;
Sad je pitanje kako to u praksi primeniti. :) Pa evo, primera kako napraviti neki raspored za
vašu stranicu: