// csstahak/ · kompletní CSS reference

CSS — Ultimátní Taháček

Box model, Flexbox, Grid, typografie, barvy, layout, animace, pseudo třídy, CSS proměnné a media queries — vše s příklady, vysvětlením a tipy.

📦01

Box Model

box-sizing, width, height, padding, margin, border, outline, overflow — základní model každého elementu.

10 vlastností
🔀02

Flexbox

display:flex, flex-direction, justify-content, align-items, flex-wrap, gap, flex-grow, order — jednorozměrný layout.

12 vlastností
03

CSS Grid

display:grid, grid-template, grid-column, grid-row, grid-areas, auto-fill, minmax, fr — dvourozměrný layout.

12 vlastností
✍️04

Typografie

font-family, font-size (rem/clamp), font-weight, line-height, letter-spacing, text-transform, text-decoration.

10 vlastností
🎨05

Barvy & Pozadí

color, background, gradient (linear/radial/conic), opacity, filter, backdrop-filter, mix-blend-mode.

10 vlastností
📐06

Layout & Pozice

display, position (relative/absolute/fixed/sticky), z-index, float, object-fit, aspect-ratio, clip-path.

10 vlastností
07

Animace & Přechody

transition, animation, @keyframes, transform (translate/scale/rotate), will-change, prefers-reduced-motion.

8 vlastností
🎯08

Pseudo třídy & Elementy

:hover, :focus, :focus-visible, :nth-child, :not, :is, :has, ::before, ::after, ::placeholder, ::marker.

14 selektorů
🔧09

CSS Proměnné & Funkce

--custom-property, var(), calc(), min(), max(), clamp(), dark mode s proměnnými, CSS cascade layers.

8 konceptů
📱10

Responsivita & Media Queries

@media, container queries, viewport jednotky (dvh/svh), responsive images, mobile-first, prefers-*.

10 konceptů
// CSS Specificita — jak prohlížeč rozhoduje co platí (a = inline, b = ID, c = třídy/atributy/pseudo, d = elementy)
SelektorinlineIDtřídyel.Výsledek
style=""
1
0
0
0
Nejvyšší — přebije vše
#id
0
1
0
0
(0,1,0,0) — silný
.class, [attr], :pseudo
0
0
1
0
(0,0,1,0) — střední
p, div, ::pseudo-el
0
0
0
1
(0,0,0,1) — nejnižší
*
0
0
0
0
(0,0,0,0) — univerzální
!important přebije vše — používejte jen v krajním případě (utility třídy, override). :where() má specificitu 0 — skvělé pro base styly které se dají snadno přebít.
// CSS Selektory — rychlý přehled
SelektorCo vybere
*Všechny elementy
divVšechny <div>
.classElementy s class
#idElement s id
div pp uvnitř div (potomek)
div > pp přímý child div
div + pp hned za div (sourozenec)
div ~ pVšechna p za div
[attr]Má atribut attr
[attr="val"]attr rovná se val
[attr^="val"]attr začíná val
[attr$="val"]attr končí val
[attr*="val"]attr obsahuje val
PseudoCo vybere
:hoverPři najetí myší
:focusPři focusu
:focus-visibleFocus z klávesnice
:activePři klikání
:visitedNavštívený odkaz
:first-childPrvní child
:last-childPoslední child
:nth-child(n)N-tý child
:not(x)Ne x
:is(a,b)a nebo b
:where(a,b)a nebo b (spec 0)
:has(x)Obsahuje x
::before / ::afterGenerovaný obsah
// Nejpoužívanější CSS vlastnosti — hledejte výše ↑
box-sizing
border-box: width zahrnuje padding
display
block, inline, flex, grid, none
width / height
px, %, vw/vh, min-content, fit-content
padding
Vnitřní odsazení (TRBL)
margin
Vnější odsazení, auto = centrovat
border
Rámeček: šířka styl barva
border-radius
Zaoblení: px, %, 50% = kruh
overflow
visible, hidden, scroll, auto
position
static, relative, absolute, fixed, sticky
top/right/bottom/left
Pozice u positioned elementů
z-index
Vrstvení — vyšší = vpředu
flex
flex: grow shrink basis
justify-content
Zarovnání na hlavní ose flex/grid
align-items
Zarovnání na křížové ose
gap
Mezery mezi flex/grid items
grid-template-columns
Definice sloupců: fr, repeat, minmax
grid-column/row
Umístění: 1/-1, span N
font-family
Písmo + fallback stack
font-size
rem (přístupné), clamp() (fluid)
font-weight
100–900, normal=400, bold=700
line-height
Bezjednotkové: 1.5–1.7 pro text
color
Barva textu: hex, rgb, hsl, oklch
background
Barva, obrázek, gradient
opacity
0–1, ovlivní celý element
transition
vlastnost trvání easing delay
transform
translate, scale, rotate, skew
animation
name duration easing + @keyframes
--custom-property
CSS proměnná: var(--name, fallback)
calc()
Výpočty: calc(100% - 2rem)
clamp()
clamp(min, preferred, max)
@media
min-width pro mobile-first
@container
Container queries — dle rodiče
aspect-ratio
Poměr stran: 16/9, 1/1
object-fit
cover, contain pro img/video
cursor
pointer, default, not-allowed...
pointer-events
none = ignoruje klikání
user-select
none = nelze vybrat text
scroll-behavior
smooth = plynulý scroll
inset
Shorthand pro top/right/bottom/left