Summary of HTML and CSS Fundamentals

HTML and CSS Fundamentals: Comprehensive Student Guide

Úvod

CSS (Cascading Style Sheets) je jazyk pro popis vzhledu a rozvržení dokumentů na webu. Tento materiál se zaměřuje na hlavní koncepty CSS: syntax, hodnoty a jednotky, model boxu, typy elementů (display), barvy, písma, moderní layouty (Flexbox, Grid) a proměnné (custom properties). Cílem je poskytnout praktické příklady a srozumitelné vysvětlení pro univerzitní úroveň studia.

Definice: CSS je jazyk pro stylování elementů dokumentu; odděluje prezentaci od obsahu.

1. Základní syntax a selektory

Syntax

selector { property: value; }

  • Selector určuje, kterým elementům se styl aplikuje.
  • Property je vlastnost (např. color, margin).
  • Value je hodnota vlastnosti (např. red, 16px).

Definice: Selektor je výraz, který vybírá elementy v dokumentu pro aplikaci stylů.

Typy selektorů

  • Element: p, div, h1
  • Třída: .class
  • ID: #id
  • Složené: div > p, a:hover

Tabulka: Porovnání běžných selektorů

SelektorVýznamPříklad použití
elementpřímo podle značkyp { line-height: 1.5 }
.classpodle třídy.btn { padding: 8px }
#idunikátní identifikátor#header { height: 60px }
pseudo-classstav elementua:hover { color: red }

2. Cascade a specificita

  • Pravidlo: vyšší specificita přepíše nižší
  • Pořadí: inline styly > ID > třída/pseudo-class > element

Definice: Specificita určuje, která pravidla zvítězí při konfliktu stylů.

V praxi: když #nav p { color: blue } a .highlight { color: red } platí modře pro elementy v #nav, pokud není použit inline styl.

3. Hodnoty, jednotky a barvy

Barvy

  • Jména: red, blue
  • RGB: rgb(0,255,0)
  • Hex: #00FF00 nebo #0F0
  • RGBA: rgba(255,0,0,0.5) — poslední kanál je alfa (průhlednost)

Definice: Barva v CSS může být vyjádřena různými formáty: jméno, hex, rgb(a) nebo moderní HSL.

Příklad použití:

.mybox { background-color: rgba(255,0,0,0.2); }

💡 Věděli jste?Zajímavost: Věděli jste, že lidské oko rozlišuje miliony odstínů a pro web se běžně používá 24bitová reprezentace barev (8 bitů na kanál)?

Jednotky

  • Absolutní: px
  • Relativní: em, rem
  • Procenta a viewport: %, vh, vw

Tabulka: Kdy použít jakou jednotku

JednotkaPoužitíVýhoda
pxpřesné rozměryprediktabilní vzhled
emvztah k rodičivhodné pro škálování textu
remvztah k rootkonzistentní škálování
%relativní vůči kontejneruflexibilní layout
vh/vwrelativní k viewporturesponzivní rozložení

4. Box model

  • Skládá se z: content, padding, border, margin
  • box-sizing: content-box (výchozí) nebo border-box (doporučeno pro praktičnost)

Definice: Box model popisuje, jak se počítá celková šířka a výška elementu včetně paddingu a ohraničení.

Příklad:

.box { box-sizing: border-box; width: 300px; padding: 20px; border: 2px solid #000; }

Výpočet (při border-box) zajišťuje, že celková šířka zůstane 300px.

💡 Věděli jste?Zajímavost: Změnou box-sizing na border-box se často vyhneme složitému přepočítávání šířek při responzivním designu.

5. Typy prvků podle display

  • block: zabírá celou šířku (např. article, div).
  • inline-block: chová se jako inline prvek, ale lze mu nastavit šířku/výšku.
  • inline: řadí se v řádku (např. a, span).

Tabulka: Rozdíly mezi display typy

DisplayChováníMůže mít width/height
blocknový blok, plná šířkaano
inline-blockvedle sebe, blokové vlastnostiano
inlinev řádku, neblokovéne (většinou)

Praktický příklad: tlačítka a navigace často používají inline-block pro zachování řádkového zalomení a zároveň možnosti nastavit padding.

6. Písma a font-face

  • Vlastnost: font-family: Arial, Verdana, sans-serif;
  • Vždy uveďte generickou rodinu jako poslední rezervu

@font-face příklad:

@font-face { font-family: 'MyFont'; src: url('Sansation_Light.ttf'), url('Sansation_Light.eot'); }

.myText { font-family: 'MyFont', sans-serif; }

Definice: @font-face umožňuje načíst vlastní fonty, které nejsou

Zaregistruj se pro celé shrnutí
FlashcardsKnowledge testSummaryPodcastMindmap
Start for free

Already have an account? Sign in

CSS Základy

Klíčové pojmy: CSS syntax: selector { property: value }, Specificita: inline > ID > class > element, Barvy: name, hex, rgb(), rgba() with alpha, Jednotky: px, em, rem, %, vh, vw, Box model: content, padding, border, margin; use border-box, Display types: block, inline-block, inline, Use @font-face for custom fonts and always include generic family, Flexbox for 1D layouts; Grid for 2D layouts, Declare CSS custom properties in :root and use var(), Prefer rem for font sizing and box-sizing: border-box for predictable layouts

## Úvod CSS (Cascading Style Sheets) je jazyk pro popis vzhledu a rozvržení dokumentů na webu. Tento materiál se zaměřuje na hlavní koncepty CSS: syntax, hodnoty a jednotky, model boxu, typy elementů (display), barvy, písma, moderní layouty (Flexbox, Grid) a proměnné (custom properties). Cílem je poskytnout praktické příklady a srozumitelné vysvětlení pro univerzitní úroveň studia. > **Definice:** CSS je jazyk pro stylování elementů dokumentu; odděluje prezentaci od obsahu. ## 1. Základní syntax a selektory ### Syntax selector { property: value; } - **Selector** určuje, kterým elementům se styl aplikuje. - **Property** je vlastnost (např. color, margin). - **Value** je hodnota vlastnosti (např. red, 16px). > **Definice:** Selektor je výraz, který vybírá elementy v dokumentu pro aplikaci stylů. ### Typy selektorů - Element: p, div, h1 - Třída: .class - ID: #id - Složené: div > p, a:hover Tabulka: Porovnání běžných selektorů | Selektor | Význam | Příklad použití | |---|---:|---| | element | přímo podle značky | p { line-height: 1.5 } | | .class | podle třídy | .btn { padding: 8px } | | #id | unikátní identifikátor | #header { height: 60px } | | pseudo-class | stav elementu | a:hover { color: red } | ## 2. Cascade a specificita - Pravidlo: vyšší specificita přepíše nižší - Pořadí: inline styly > ID > třída/pseudo-class > element > **Definice:** Specificita určuje, která pravidla zvítězí při konfliktu stylů. V praxi: když #nav p { color: blue } a .highlight { color: red } platí modře pro elementy v #nav, pokud není použit inline styl. ## 3. Hodnoty, jednotky a barvy ### Barvy - Jména: red, blue - RGB: rgb(0,255,0) - Hex: #00FF00 nebo #0F0 - RGBA: rgba(255,0,0,0.5) — poslední kanál je alfa (průhlednost) > **Definice:** Barva v CSS může být vyjádřena různými formáty: jméno, hex, rgb(a) nebo moderní HSL. Příklad použití: .mybox { background-color: rgba(255,0,0,0.2); } Zajímavost: Věděli jste, že lidské oko rozlišuje miliony odstínů a pro web se běžně používá 24bitová reprezentace barev (8 bitů na kanál)? ### Jednotky - Absolutní: px - Relativní: em, rem - Procenta a viewport: %, vh, vw Tabulka: Kdy použít jakou jednotku | Jednotka | Použití | Výhoda | |---|---:|---| | px | přesné rozměry | prediktabilní vzhled | | em | vztah k rodiči | vhodné pro škálování textu | | rem | vztah k root | konzistentní škálování | | % | relativní vůči kontejneru | flexibilní layout | | vh/vw | relativní k viewportu | responzivní rozložení | ## 4. Box model - Skládá se z: content, padding, border, margin - box-sizing: content-box (výchozí) nebo border-box (doporučeno pro praktičnost) > **Definice:** Box model popisuje, jak se počítá celková šířka a výška elementu včetně paddingu a ohraničení. Příklad: .box { box-sizing: border-box; width: 300px; padding: 20px; border: 2px solid #000; } Výpočet (při border-box) zajišťuje, že celková šířka zůstane 300px. Zajímavost: Změnou box-sizing na border-box se často vyhneme složitému přepočítávání šířek při responzivním designu. ## 5. Typy prvků podle display - **block**: zabírá celou šířku (např. article, div). - **inline-block**: chová se jako inline prvek, ale lze mu nastavit šířku/výšku. - **inline**: řadí se v řádku (např. a, span). Tabulka: Rozdíly mezi display typy | Display | Chování | Může mít width/height | |---|---:|---| | block | nový blok, plná šířka | ano | | inline-block | vedle sebe, blokové vlastnosti | ano | | inline | v řádku, neblokové | ne (většinou) | Praktický příklad: tlačítka a navigace často používají inline-block pro zachování řádkového zalomení a zároveň možnosti nastavit padding. ## 6. Písma a font-face - Vlastnost: font-family: Arial, Verdana, sans-serif; - Vždy uveďte generickou rodinu jako poslední rezervu @font-face příklad: @font-face { font-family: 'MyFont'; src: url('Sansation_Light.ttf'), url('Sansation_Light.eot'); } .myText { font-family: 'MyFont', sans-serif; } > **Definice:** @font-face umožňuje načíst vlastní fonty, které nejsou