🚀 Část 2 — pokročilejší HTML

Jdeme na vyšší level!

Zvládl jsi základy. Teď se naučíš rozvrhovat stránky, vytvářet tabulky, formuláře a první animace!

✅ Navazuje na Část 1
🎮 Živé editory
🏆 Nové odznaky
⚡ Tvůj pokrok v Části 2 0 / 7
Kapitola 1 📦

Tag <div> — skříňka na obsah

Jak rozdělovat stránku do bloků

📦 Co je <div>?

<div> je jako průhledná krabička. Sám o sobě nic nevidíš — ale můžeš do něj zabalit části stránky a pak celou krabičku nastylovat pomocí CSS.

Díky <div> umístíš obsah přesně tam, kam chceš: navigaci nahoru, postranní panel vpravo, patičku dolů.

🪆 Dívky zanořené v dívkách (vnořování tagů)

Tagy mohou být uvnitř jiných tagů — jako matrjošky:

<body>
<div id="hlavicka">
<h1> Název mé stránky
<div id="obsah">
<p> Tady je text stránky...
💡
Vnořování tagů je jako složka uvnitř složky na počítači. Každý tag musíš správně zavřít předtím, než zavřeš jeho „rodiče"!

🆔 Atributy id a class

Každému <div> můžeš dát jméno, aby na něj šlo odkazovat z CSS:

HTML + CSS
/* CSS — nastyluje pouze div s id="hlavicka" */
#hlavicka {
  background-color: darkblue;
  color: white;
  padding: 20px;
}

/* .cerveny nastyluje VŠECHNY elementy s class="cerveny" */
.cerveny {
  color: red;
}
🔑
#id je unikátní jméno — každé ID smí být na stránce jen jednou. .třída (class) může mít víc prvků najednou.
Editor č. 1 — Div a CSS třídy ⚡ Živý
🧠 Otázka č. 1
Co dělá tag <div>?
Kapitola 2 🎭

Tag <span> — styling uvnitř textu

Jak obarvit jedno slovo nebo část věty

🎭 Div vs. Span — jaký je rozdíl?

<div> zabírá celý řádek — je to blokový element.
<span> se vejde přímo do textu — je to řádkový element.

Toto je normální věta. A toto slovo je <span style="color:orange">oranžové</span> a zbytek pokračuje normálně dál.
💡
Použij <span> kdykoliv chceš nastylovat jen část textu bez zalomení na nový řádek.

🖌️ Inline styly

CSS lze psát přímo do HTML tagu pomocí atributu style="". Říkáme tomu inline styl:

HTML
<p>
  Mám rád <span style="color:green; font-weight:bold;">minecraft</span>
  a taky <span style="color:red; font-size:20px;">fotbal</span>.
</p>
⚠️
Inline styly jsou praktické pro rychlé zkoušení, ale pro větší stránky je lepší používat <style> v hlavičce — kód bude přehlednější.
Editor č. 2 — Span a inline styly ⚡ Živý
Kapitola 3 📊

Tabulky

Jak zobrazit data v řádcích a sloupcích

🏗️ Struktura tabulky

Tabulka se skládá ze tří druhů tagů:

  • <table> — celá tabulka
  • <tr> — jeden řádek (table row)
  • <th> — záhlaví (tučný nadpis sloupce)
  • <td> — jedna buňka s daty (table data)
Hráč Body Úroveň
Tomáš 1 240 🥇 Zlatý
Lukáš 980 🥈 Stříbrný
Eliška 760 🥉 Bronzový
Editor č. 3 — Moje tabulka ⚡ Živý
🧠 Otázka č. 2
Jaký tag použiješ pro JEDEN ŘÁDEK v tabulce?
Kapitola 4 📝

Formuláře — kde uživatel píše

Textová pole, tlačítka a výběry

📝 Prvky formuláře

Formuláře slouží k zadávání dat — přihlášení, vyhledávání, kontaktní formulář. Základní tagy:

<input type="text">

Textové pole na jednom řádku

<input type="number">

Pole pro číslo

<input type="color">

Výběr barvy

<textarea>

Víceřádkové textové pole

<select> + <option>

Rozbalovací seznam

<button>

Klikací tlačítko

Každé pole by mělo mít <label> — popis, který říká uživateli, co má vyplnit.
Editor č. 4 — Můj formulář ⚡ Živý
Kapitola 5

CSS Animace

Jak rozhýbat prvky na stránce

🎬 Jak funguje animace v CSS?

Animaci vytvoříš ve dvou krocích:

  • 1. Definuješ pohyb pomocí @keyframes — řekneš, jak vypadá začátek a konec
  • 2. Přiřadíš animaci k elementu pomocí vlastnosti animation
CSS
/* 1. Definice pohybu */
@keyframes poskakovat {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-20px); }
  100% { transform: translateY(0px); }
}

/* 2. Přiřazení k elementu */
h1 {
  animation: poskakovat 1s ease infinite;
  /*           název  čas rychlost opakování */
}

🎮 Galerie animací — klikni a sleduj!

💗
Pulsování
scale()
⚙️
Točení
rotate()
🏀
Skákání
translateY()
📳
Třesení
translateX()
Záře
box-shadow
👻
Mizení
opacity
Editor č. 5 — Animuj to! ⚡ Živý
🧠 Otázka č. 3
Jak se jmenuje CSS pravidlo, ve kterém definuješ průběh animace?
Kapitola 6 🏗️

Layout — rozmístění bloků

Jak dát obsah vedle sebe pomocí Flexbox

📐 Normálně je vše pod sebou

Ve výchozím stavu HTML se <div> bloky řadí pod sebe. Ale co když chceme sloupce vedle sebe?

🪄
Stačí přidat na rodičovský div display: flex; — a najednou jsou jeho děti vedle sebe! Říkáme tomu Flexbox.

⚡ Nejdůležitější Flexbox vlastnosti

display: flex
Zapne Flexbox na rodiči
gap: 16px
Mezera mezi prvky
justify-content
Zarovnání vodorovně
align-items
Zarovnání svisle
flex-wrap: wrap
Zalamování na více řádků
flex: 1
Prvek roste, aby zaplnil místo
Editor č. 6 — Flexbox layout ⚡ Živý
🧠 Otázka č. 4
Jakou CSS vlastnost zapneš na rodiči, aby se jeho děti seřadily vedle sebe?
Kapitola 7 🏆

Finální projekt: Moje osobní stránka

Použij vše, co ses naučil/a!

🎯 Tvůj úkol

Vytvoř kompletní osobní stránku s navigací, sekcemi a stylem. Šablona níže ti pomůže začít — uprav vše po svém!

  • Navigační menu (flexbox)
  • Sekce „O mně" s textem a obrázkem
  • Tabulka nebo seznam oblíbených věcí
  • CSS animace alespoň na jednom prvku
  • Kontaktní formulář
🏆 Můj finální projekt! ✨ Vytvoř svou stránku
Vytvořeno s ❤️ v HTML

🏅 Odznaky Části 2

📦
Div Mistr
🎭
Span Guru
📊
Tabulkář
📝
Formulářák
Animátor
🏗️
Layoutér
🏆
Web Vývojář
Taháček 2 📖

Taháček Části 2

Přehled nových tagů a vlastností

🏷️ Nové HTML tagy

<div>
Blokový kontejner
<span>
Řádkový kontejner
<table>
Tabulka
<tr>
Řádek tabulky
<th>
Záhlaví buňky
<td>
Datová buňka
<form>
Formulář
<input>
Vstupní pole
<label>
Popis pole
<button>
Tlačítko
<select>
Rozbalovací seznam
<textarea>
Víceřádkové pole

🎨 Nové CSS vlastnosti

display: flex
Flexbox layout
gap
Mezera mezi prvky
animation
Přiřazení animace
@keyframes
Definice animace
transform
Pohyb, otočení, zvětšení
opacity
Průhlednost (0–1)
border-radius
Zaoblené rohy
box-shadow
Stín prvku
cursor: pointer
Ručička na prvku
transition
Plynulá změna stylu

🚀 Co dál?

Skvělá práce! Teď umíš skoro vše, co potřebuješ k vytvoření opravdové webové stránky. Další kroky pro ty nejodvážnější:

  • 📁 Ulož své HTML soubory a otevři je v prohlížeči
  • 🌐 Nauč se JavaScript — jazyk, který dělá stránky interaktivní
  • 🎨 Prozkoumej CSS Grid — ještě mocnější rozvržení než Flexbox
  • ☁️ Nahraj svou stránku na internet pomocí GitHub Pages (zdarma!)