Bootstrap ima gotove komponente – delove stranice koji se ponavljaju na skoro svakom sajtu: meni koji se na telefonu skuplja u „hamburger“ dugme, kartice, forme, obaveštenja i prozore. Ova lekcija pokazuje najvažnije i kako se prilagođavaju tvom dizajnu.
Pre nego što počneš: potrebno predznanje – Bootstrap mreža. Kako da učiš: zadatke na kraju prvo uradi sam/a u svom editoru; uputstvo i rešenje otvori tek posle toga. Svaki primer ima kod i živi rezultat ispod njega; kod prekucaj u svoj fajl i menjaj ga.
meni koji je ceo prikazan od md (768px), a ispod toga skupljen
navbar-toggler + data-bs-toggle="collapse"
„hamburger“ dugme; data-bs-target kaže koji deo otvara (po id)
collapse navbar-collapse
deo koji se skuplja
ms-auto
margin-start: auto – gura stavke udesno
dropdown + data-bs-toggle="dropdown"
padajuća lista
data-bs-theme="dark"
svetla slova za tamnu pozadinu
Suzi prozor: meni se pretvara u dugme sa tri crte. To radi Bootstrap-ov JavaScript (bootstrap.bundle.min.js) – bez njega se meni ne otvara. Atributi aria-* pomažu čitačima ekrana.
Kartica (card) ima delove card-img-top, card-header, card-body, card-title, card-text i card-footer. Klasa h-100 izjednačava visinu kartica u istom redu.
<div class="container py-3">
<div class="alert alert-success" role="alert">Logo je sačuvan! <span class="badge bg-success-subtle text-success-emphasis">3 logoa</span></div>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
Ovo obaveštenje može da se zatvori.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Zatvori"></button>
</div>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#pomoc">Otvori pomoć</button>
<div class="modal fade" id="pomoc" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Kako se pravi logo?</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zatvori"></button>
</div>
<div class="modal-body">Upiši naziv, izaberi boju i oblik, pa preuzmi sliku.</div>
<div class="modal-footer"><button class="btn btn-secondary" data-bs-dismiss="modal">U redu</button></div>
</div>
</div>
</div>
</div>
Rezultat:
Komponente se „uključuju“ atributima data-bs-toggle, data-bs-target i data-bs-dismiss – JavaScript ne moraš pisati sam/a. Ostale komponente (karusel slika, harmonika, kartice sa tabovima, tooltip…) imaju gotove primere u dokumentaciji.
Prilagođavanje: tvoje boje i tvoj stil
Bootstrap 5.3 koristi CSS promenljive, pa se mnogo toga menja u tvom main.css bez diranja Bootstrap fajlova:
Ceo sajt dobija tamnu temu jednim atributom: <html lang="sr" data-bs-theme="dark">.
Bootstrap 4 → Bootstrap 5: šta se promenilo
Na internetu (i u starijim lekcijama) često se nalaze primeri za Bootstrap 4. Najvažnije razlike:
Bootstrap 4
Bootstrap 5
potrebni jQuery i Popper (3 skripte)
jedna skripta bootstrap.bundle.min.js, bez jQuery-ja
data-toggle, data-target, data-dismiss
data-bs-toggle, data-bs-target, data-bs-dismiss
ml-*, mr-*, pl-*, pr-*
ms-*, me-*, ps-*, pe-* (start/end)
float-left, text-left
float-start, text-start
form-group, custom-select
mb-3, form-select
no-gutters
g-0 (i g-1 … g-5)
maxcdn.bootstrapcdn.com/bootstrap/4.x
cdn.jsdelivr.net/npm/bootstrap@5.3.x
Zadaci za vežbu
Za svaki zadatak postoji primer, uputstvo i rešenje. Rešenja su provereno ispravna u pregledaču.
ZADATAK 01Težina: srednje
Stranica sportskog kluba
Napravi stranicu kluba sa: navbar-om (naziv kluba levo, tri stavke desno, „hamburger“ na telefonu), redom od tri kartice (ekipe: pioniri, kadeti, juniori) i formom za upis (ime, uzrast, ekipa iz padajuće liste, dugme).
Uputstvo
Kreni od šablona sa početka prethodne lekcije. Navbar prepiši iz primera i promeni tekst; kartice u row g-3 sa col-md-4; forma u container sa style="max-width: 500px".
Meni se ne otvara na telefonu: proveri da li je uključen bootstrap.bundle.min.js i da li data-bs-target="#id" odgovara id-u dela koji se skuplja.
Primeri za Bootstrap 4 (data-toggle, jQuery) ne rade sa Bootstrap-om 5 bez izmena.
Ne menjaj fajlove Bootstrap-a – svoje izmene piši u svom CSS-u.
Proveri znanje
Otvori kviz
Bootstrap komponente
1. Koji atribut u Bootstrap-u 5 otvara padajuću listu ili meni?
2. Šta je potrebno da bi „hamburger“ meni radio?
3. Koja klasa izjednačava visinu kartica u redu?
4. Kako se u Bootstrap-u 5 piše razmak sa leve strane (ranije ml-2)?
Podešavanja kolačića
Koristimo kolačiće da bismo vam pružili najbolje moguće iskustvo. Takođe nam omogućavaju da analiziramo ponašanje korisnika kako bismo stalno poboljšavali veb lokaciju za vas.