Tvorba webových stránok · 3. ročník SŠ

Bootstrap

Interaktívna učebnica k dvom vyučovacím hodinám. Čítaj, skúšaj a hneď vidíš výsledok.

Čo sa naučíš
Čo je framework
Verzie 3 · 4 · 5
Inštalácia
GRID mriežka
Farby a obrázky
Formuláre
1

Čo je framework?

Hotová kostra kódu s pravidlami, do ktorej vkladáme vlastný obsah.

Výhody

  • ✅ Rýchlosť — hotové tlačidlá, karty, navigácia
  • ✅ Responzívnosť bez písania @media pravidiel
  • ✅ Jednotný vzhľad celého projektu
  • ✅ Rieši rozdiely medzi prehliadačmi
  • ✅ Rozsiahla dokumentácia a komunita

Nevýhody

  • ❌ Načíta sa aj kód, ktorý nepoužijeme
  • ❌ Weby vyzerajú navzájom podobne
  • ❌ Závislosť na tretej strane
  • ❌ Začiatočník sa nenaučí CSS „pod triedami“
  • ❌ Treba sledovať zmeny medzi verziami

Knižnica (library)

My voláme jej kód vtedy, keď ho práve potrebujeme. Program riadime my.

= náradie v dielni

Framework

Dáva kostru a pravidlá, do ktorých vkladáme obsah. Framework riadi nás.

= stavebnica s návodom

Iné CSS frameworky: Tailwind CSS, Foundation, Bulma, Materialize, Semantic UI. Bootstrap je z nich dlhodobo najrozšírenejší.
2

Bootstrap 3 vs. 4 vs. 5

Najčastejšia chyba: kód nájdený na internete patrí k inej verzii.

Kritérium Bootstrap 3 2013 Bootstrap 4 2018 Bootstrap 5 2021

Pozor pri kopírovaní kódu z internetu

  • data-toggle (v4) → data-bs-toggle (v5)
  • ml-3 / mr-3 (v4) → ms-3 / me-3 (v5, kvôli podpore RTL)
  • img-responsive (v3) → img-fluid (v4 a v5)
  • form-group (v4) → zrušené, použi mb-3 alebo g-3
3

Inštalácia

Tri spôsoby. Na hodine používame CDN.

Súbory sa načítajú priamo z internetu. Nič nesťahujeme. Bez pripojenia stránka stratí štýl.

<!-- 1. do <head> -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet">

<!-- 2. tesne pred </body> -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>

bundle znamená, že súbor obsahuje aj knižnicu Popper, ktorú potrebujú dropdown, tooltip a popover. Ak používaš len mriežku a farby, JavaScript pripájať nemusíš.

Na getbootstrap.com → Download → Compiled CSS and JS stiahneme ZIP, rozbalíme a priečinky css/ a js/ skopírujeme do projektu.

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/bootstrap.bundle.min.js"></script>
✔ Funguje aj bez internetu
✘ Novú verziu musíme vymeniť ručne

Pre väčšie projekty s nástrojmi Vite alebo Webpack, keď si chceme upraviť zdrojové SCSS premenné (napr. hlavnú farbu $primary).

npm install bootstrap@5.3.8

// potom v kóde projektu
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap';

Minimálna funkčná stránka. Bez značky <meta name="viewport"> sa na mobile mriežka vôbec nezalomí — je to najčastejšia príčina otázky „prečo mi to na telefóne nefunguje“.

<!DOCTYPE html>
<html lang="sk">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Moja prvá Bootstrap stránka</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="p-4">

  <h1 class="text-primary">Ahoj, Bootstrap!</h1>
  <button class="btn btn-success">Funguje to</button>

  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
4

GRID — mriežka na 12 stĺpcov

Posúvaj jazdce a sleduj, ako sa mriežka mení. Kód sa generuje sám.

Nastav šírky stĺpcov

Hodnota 0 = tretí stĺpec sa nepoužije.

Náhľad

.container

Zmenši okno prehliadača (alebo stlač F12 a zapni Toggle device toolbar) a sleduj, kedy sa stĺpce zalomia pod seba.

Breakpointy Bootstrapu 5

xs
< 576 px
mobil
sm
≥ 576 px
väčší mobil
md
≥ 768 px
tablet
lg
≥ 992 px
notebook
xl
≥ 1200 px
monitor
xxl
≥ 1400 px
veľký monitor
Zapamätaj si: .container.row.col-*. Stĺpec musí byť priamym potomkom riadku. Súčet stĺpcov v riadku má byť 12; ak je viac, prebytok sa zalomí do ďalšieho riadku (nie je to chyba, ale musí to byť zámer).
5

Farby a container-fluid

Bootstrap pomenúva farby podľa významu, nie podľa odtieňa. Klikni na dlaždicu.

Kde sa rovnaký názov farby použije

text-success — zelený text

bg-warning — žlté pozadie

text-bg-danger — pozadie + kontrastný text

border-info — farebný rámček

alert alert-info — informačná hláška

container vs. container-fluid

.container

pevná maximálna šírka

Šírka sa skokovo mení na breakpointoch, po bokoch ostávajú okraje. Vhodné pre články, blogy a bežný obsah.

.container-fluid

vždy 100 % šírky okna

Vhodné pre hlavičky, hero sekcie, administračné panely a galérie na celú obrazovku.

6

Obrázky

Zapínaj triedy a sleduj, ako sa obrázok mení.

Triedy

obrázok 4:3

Namiesto skutočnej fotografie je tu farebný blok, aby stránka fungovala aj bez internetu. Na skutočnom obrázku sa triedy správajú rovnako.

Atribút alt je povinný vždy. Číta ho čítačka obrazovky pre nevidiacich a zobrazí sa, keď sa obrázok nenačíta. Bootstrap ho nenahrádza.
7

Formuláre v Bootstrape 5

Skús formulár odoslať prázdny a pozri, ako funguje validácia.

Vyplň prosím meno.
Zadaj platnú e-mailovú adresu.
Vyber triedu zo zoznamu.
Bez súhlasu sa formulár nedá odoslať.
Formulár je vyplnený správne. (Na skutočnej stránke by sa teraz odoslal na server.)

Prehľad tried

form-labelpopisok, prepojený cez for
form-controltext, e-mail, heslo, textarea
form-selectrozbaľovací zoznam
form-checkcheckbox a radio
form-switchprepínač (novinka v 5)
form-rangeposuvník
form-floatingplávajúci popisok (novinka v 5)
is-invalidchybný stav + invalid-feedback
Zrušené v Bootstrape 5: form-group, form-row. Medzery rieš triedami mb-3 alebo g-3 na riadku.
8

Kvíz — otestuj sa

10 otázok z oboch hodín. Odpoveď sa vyhodnotí hneď.

Tvoje skóre: 0 / 10
Odpovedz na otázky a sleduj, ako ti to ide.

Zapamätaj si