Professional Documents
Culture Documents
RTZBR 65
RTZBR 65
Flexbox
Flexible Box Module, koji se obično naziva flexbox, dizajniran je kao jednodimenzionalni
model izgleda i kao metoda koja može ponuditi distribuciju prostora između stavki u interfejsu
i moćne mogućnosti poravnanja. Ovaj članak daje pregled glavnih karakteristika flexboxa, koje
ćemo detaljnije istražiti u ostatku ovih vodiča.
Kada opisujemo flexbox kao jednodimenzionalan, mi opisujemo činjenicu da se flexbox bavi
rasporedom u jednoj po jednoj dimenziji - bilo kao red ili kolona. Ovo se može suprotstaviti
dvodimenzionalnom modelu CSS Grid Layout - a, koji zajedno kontrolira kolone i redove.
Kada radite sa flexboxom morate razmišljati u terminima dvije ose - glavne ose i poprečne ose.
Glavna osa je definirana flex-direction svojstvom, a poprečna osa ide okomito na nju. Sve što
radimo sa flexboxom se odnosi na ove ose, tako da je vrijedno razumjeti kako one rade od
samog početka.
Glavna os je definirana sa flex-direction, koja ima četiri moguće vrijednosti:
• row
• row-reverse
• column
• column-reverse
Ako se odabere row ili row-reverse, glavna osa će se prostirati duž reda u inline smijeru.
Odaberite column ili column-reverse, glavna os će se kretati od vrha stranice do dna - u smijeru
bloka.
16
Poprečna osa ide okomito na glavnu osu, stoga ako je svojstvo flex-direction (glavna osa)
postavljeno na row ili row-reverse poprečna os ide duž kolona.
Ako je vaša glavna osa column ili column-reverse tada poprečna osa ide duž redova.
Flex kontejner
17
4. Primjer web stranice
Kao primjer web stranice sa gridom i flexboxom urađena je stranica za vijesti čiji je izgled
prikazan na slici 4.1.
Sa slike 4.1. se jasno vidi izgled grida. Budući da je ukupan kod za ovu stranicu poprilično
velik, u nastavku će biti prikazani i objašnjeni neki glavni dijelovi CSS koda stranice.
Glavni fokus će biti na same članke (articles) čiji izgled ima jasne karakteristike grida.
18
Slika 4.2. Relevantni HTML kod
Na slici 4.3. je prikazan CSS kod div elementa sa klasom articles-container, čiji parent
(„roditelj“) element ima id home-articles. Ukratko, to je div u koji su smješteni svi članci
na stranici.
Postavlja se display atribut kontejnera na grid, zatim se definiše kako će on izgledati.
Linijom koda 274 sa slike 4.3. se pravi grid koji ima 3 kolone jednakih veličina (svaka po
1 dio stranice, od ukupno tri jednaka dijela). grid-gap: 1rem; „govori“ stranici da ostavi
prostor između elemenata u gridu od 1rem.
Rezultat ovoga se vidi na slici 4.1., gdje su članci jasno podijeljeni u tri kolone.
19
Slika 4.4. CSS kod za prvi i zadnji članak
Na slici 4.1. se vidi da prvi i zadnji članak su drugačiji od ostalih, prostiru se na dvije kolone
grida. Kod prikazan na slici 4.4. je odgovoran za stilizovanje ta dva članka.
Selektori na linijama 278 i 279 sa slike 4.4. označavaju prvi i zadnji članak. Display
svojstvo se postavlja na grid, grid se sastoji od dvije jednake kolone koje su razmaknute za
1red. align-items: center; centriše sve stavke u datom elementu.
Svaka kolona grida ima dvije linije, početna i krajnja linija. Krajnja linija prve kolone je
početna linija druge kolone, tako da grid sa tri kolone ima 4 linije. Prva kolona je od prve
do druge linije, druga kolona od druge do treće linije i četvrta kolona od treće do četvrte
linije. Konačno grid-column: 1 / 3; „govori“ elementu da se prostire od prve linije grida do
treće linije grida. Odnosno, ova linija koda „govori“ elementu da zauzme prve dvije kolone
grida na kojem se nalazi. Linijom 287 sa slike 4.4. se označava samo zadnji članak i linija
288 „govori“ zadnjem članku da se prostire od druge do četvrte linije, odnosno da zauzme
drugu i treću kolonu grida.
20
5. Zaključak
Ovaj rad je obradio temu CSS grida i flexboxa. Jasno je da su ovo veoma moćni alati koji su
lagani za koristiti, a daju nevjerojatne rezultate. Koristeći grid i flexbox, uz samo nekoliko
linija koda se može napraviti web stranica koja izgleda fenomenalno. Grid i flexbox lagano
rješavaju neke probleme koji su prethodno bili gotovo nemogući. Oni omogućavaju tačno
dijeljenje nekog kontejnera (elementa, bio to div ili neki drugi) i pozicioniranje elemenata
unutar njega. Bez ova dva moćna alata, pravljenje stranice prikazane u dijelu 4 ovog rada bilo
bi, u najmanju ruku, veoma iscrpljujuće. CSS je prešao velik put od svojih početaka do danas,
i jasno je zašto je jedan od osnova svake web stranice. Danas i najveće stranice koriste upravo
grid i flexbox. Ako se malo obrati pažnja, lako se primjećuju karakteristike grida, a između
ostalog, moguće je uvijek koristiti Grid Ispector. Naravno, CSS je beskoristan bez HTML-a,
jer CSS uzima HTML elemente i stilizira ih. Ali, moglo bi se reći i da je obrnuto tačno, da je
HTML beskoristan bez CSS-a. Niko ne bi želio koristiti web stranicu koja ružno izgleda, ma
koliko funkcionalna ona bila. CSS uvodi život u stranicu i čini je ugodnu, ne samo vizuelno,
nego i funkcionalno ugodnu za koristiti.
21
6. Literatura
[1] https://en.wikipedia.org/wiki/HTML
[2] https://developer.mozilla.org/en-US/docs/Web/HTML
[3] https://en.wikipedia.org/wiki/CSS
[4] https://developer.mozilla.org/en-US/docs/Web/CSS
[5] https://css-tricks.com/snippets/css/complete-guide-grid/
[6] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout
[7] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/
Basic_Concepts_of_Grid_Layout
[8] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/
Basic_Concepts_of_Flexbox
22
Mišljenje mentora o radu
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
Ispitivač: ______________________________
Članovi komisije:
1. _______________________________
2. _______________________________
Izdvojeno mišljenje:
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
23