HTML a CSS

HTML základy

HTML (HyperText Markup Language) je značkovací jazyk pro tvorbu webových stránek. Definuje strukturu a obsah stránky pomocí elementů — tagů.

Struktura HTML dokumentu

<!DOCTYPE html> <html lang="cs"> <head> <meta charset="UTF-8"> <title>Název stránky</title> </head> <body> <!-- obsah stránky --> </body> </html>

Důležité tagy

Textové elementy

TagPopis
<h1><h6>Nadpisy (h1 největší)
<p>Odstavec
<strong>Tučný text (sémanticky důležitý)
<em>Kurzíva (důraz)
<a href="">Odkaz (hypertextový)
<br>Zalomení řádku
<span>Inline kontejner (bez sémantiky)

Strukturální elementy (HTML5)

TagPopis
<header>Záhlaví stránky/sekce
<nav>Navigace
<main>Hlavní obsah
<section>Tematická sekce
<article>Samostatný článek
<aside>Postranní obsah
<footer>Zápatí
<div>Blokový kontejner (bez sémantiky)

Formuláře

<form action="/odeslat" method="post"> <input type="text" name="jmeno" placeholder="Jméno"> <input type="email" name="email"> <button type="submit">Odeslat</button> </form>

CSS základy

CSS (Cascading Style Sheets) definuje vzhled HTML elementů — barvy, fonty, rozložení, animace.

Syntaxe

selektor { vlastnost: hodnota; vlastnost2: hodnota2; }

Způsoby připojení CSS

Selektory

SelektorPříkladPopis
ElementpVšechny <p> elementy
Třída.btnElementy s class="btn"
ID#hlavniElement s id="hlavni"
Potomeknav aVšechny <a> uvnitř <nav>
Přímý potomekul > liPřímé <li> dítě <ul>
Pseudo-třídaa:hoverOdkaz při najetí myší
Pseudo-elementp::first-linePrvní řádek odstavce

Specifičnost (priorita pravidel)

Čím specifičtější selektor, tím vyšší priorita: ID > třída > element. Klíčové slovo !important přebíjí vše (používat střídmě).

Jednotky a barvy

Jednotky délky

JednotkaPopisPříklad
pxPixely — absolutnífont-size: 16px
emRelativní k rodičovskému font-sizepadding: 1.5em
remRelativní ke kořenovému font-size (<html>)margin: 2rem
%Procento z rodičovského elementuwidth: 50%
vw / vhProcento šířky / výšky viewportuheight: 100vh

Barvy v CSS

FormátPříkladPopis
Hexadecimální#ff5733RGB v hex (#RRGGBB)
RGBrgb(255, 87, 51)Složky 0–255
RGBArgba(255, 87, 51, 0.5)+ průhlednost (0–1)
HSLhsl(11, 100%, 60%)Odstín, sytost, světlost
Pojmenovanéred, blue, tomatoPředdefinovaná jména barev

CSS proměnné (Custom Properties)

Proměnné umožňují definovat hodnoty na jednom místě a opakovaně je používat.

:root { --barva-primární: #3ecf72; --mezera-základní: 16px; } .tlacitko { background: var(--barva-primární); padding: var(--mezera-základní); }

Typografie

CSS nabízí bohaté možnosti stylování textu.

Základní vlastnosti textu

VlastnostPříklad hodnotPopis
font-family"Arial", sans-serifRodina písma (vždy záložní)
font-size1rem, 18pxVelikost písma
font-weight400 (normal), 700 (bold)Tučnost
font-styleitalic, normalKurzíva
line-height1.5Výška řádku (násobek font-size)
letter-spacing0.05emMezery mezi písmeny
text-alignleft, center, right, justifyZarovnání textu
text-decorationnone, underlinePodtržení (odstraní se z odkazů)
text-transformuppercase, lowercaseKonverze na velká / malá

Google Fonts

Webové fonty se připojují přes <link> v <head>:

<link rel="preconnect" href="https://fonts.googleapis.com"> <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> body { font-family: "Roboto", sans-serif; }

Bezpečné fonty (dostupné bez importu): Arial, Verdana, Georgia, Times New Roman, Courier New, Trebuchet MS.

Pozicování

Vlastnost position určuje, jak je element umístěn v dokumentu.

Typy pozicování

HodnotaPopis
staticVýchozí — element v normálním toku
relativePosunutí od původní pozice (prostor zůstává)
absoluteVyřazení z toku, pozice vůči nejbližšímu positioned rodiči
fixedFixní vůči viewportu (zůstane při scrollování)
stickyKombinace relative + fixed (přilepí se při scrollu)
.rodic { position: relative; /* kotva pro absolutně pozicované dítě */ } .dite { position: absolute; top: 0; right: 0; } .hlavicka { position: sticky; top: 0; /* přilepí se k hornímu okraji při scrollování */ }

Z-index

z-index určuje pořadí vrstvení elementů (funguje pouze u positioned elementů).

.modal { position: fixed; z-index: 1000; /* vyšší číslo = nahoře */ }

Speciální znaky a čeština

Správné nastavení pro česky psané stránky:

<meta charset="UTF-8"> <html lang="cs">

Speciální znaky v HTML se zapisují HTML entitami: &amp; → &, &lt; → <, &gt; → >, &nbsp; → nezlomitelná mezera.

Box model

Každý HTML element je obdélníkový box skládající se z:

.box { width: 200px; padding: 16px; border: 2px solid #333; margin: 24px; box-sizing: border-box; /* padding a border se počítají do width */ }

Layout

Flexbox

Jednorozměrný layout (řádek nebo sloupec).

.container { display: flex; justify-content: space-between; /* hlavní osa */ align-items: center; /* příčná osa */ gap: 16px; }

Grid

Dvourozměrný layout (řádky + sloupce).

.grid { display: grid; grid-template-columns: 1fr 1fr 1fr; /* 3 stejné sloupce */ gap: 24px; }

Responzivní design — Media Queries

/* Výchozí styl pro desktop */ .container { width: 1200px; } /* Pro obrazovky do 768px (mobil) */ @media (max-width: 768px) { .container { width: 100%; } }

Kvíz

BETA
1 / 10

Co je to HTML?

Jaký HTML tag se používá pro nadpis první úrovně?

Co je to CSS?

Jaký CSS selektor vybírá elementy podle třídy?

Co je to flexbox v CSS?

Jaký HTML element slouží pro vytvoření formuláře?

Co dělá CSS vlastnost `display: grid`?

Jaká CSS vlastnost nastavuje barvu textu?

Co je to responzivní design?

Jaký HTML tag vytváří hypertextový odkaz?