možnost přidání více jmen do hranatých závorek pro jednu čáru
Jednotka fraction - fr
náhrada pixelů
přizpůsobuje se různým zobrazovacím zařízením
určuje poměrnou část nespecifikovaného místa
Příklady fr
/* prostřední sloupec bude pružný */ grid-template-columns: 200px 1fr 200px; /* všechny sloupce budou pružné, prostřední zabírá 2x více místa než první a poslední sloupec */ grid-template-columns: 1fr 2fr 1fr;
Automatické generování mřížky
možné generovat automaticky pomocí funkce repeat()
pouze jeden repeat() v deklaraci
Příklady
/* 12 sloupců, první a poslední je 2x vetší*/grid-template-columns: 2fr repeat(10, 1fr) 2fr;/* 12 sloupců, opakuje se vzor 1fr 2fr, 8 tedy 1fr 2fr 1fr 2fr ... */grid-template-columns: repeat(6, 1fr 2fr);
pří automatickém generování můžeme nechat prohlížeč rozhodnout kolikrát má daný vzor opakovat,
nelze použít s jednotkou fr, min-content, max-content
možné použít funkci minmax()
Auto-fill
je vzor zopakovaný tolikrát, kolikrát to umožní daný prostor, přičemž je preferováno vložení nové buňky před zvětšením
absolutní flex - flex-basis: 0 se spojením flex-grow lze docílit chování kdy rozdělení probíhá na základě `flex-grow.
.flex__item {flex: 1;} .flex__item--changed {flex: 2;}/*položky .flex__item--changed jsou 2x větší než .flex__items*/
Pozicování elementů
změna jeho umístění oproti normal flow na stránce. K tomu účelu slouží vlastnost position.
Hodnoty position
static - výchozí hodnota, pozice určena normal flow
relative - relativní pozice k jeho normal flow, místo které zabírá je ponecháno prázdné
absolute - absolutní pozicování umístí prvek relativně k jeho nejbližšímu předkovi s position: relative;.
fixed - pevná pozice vzhledem k viewportu
sticky - kombinace relativního a fixního pozicování (relativní dokud není odrolován, pak fixní)
pokud je element relative, fixed, absolute nebo sticky
možnost nastavit top, right, bottom, left
určuje pozici elementu vzhledem k počátečním souřadnicím (liší se podle typu pozicování)
Relativní pozicování
počátek souřadnicového systému je dán normal flow a je umístěn v levém horní rohu elementu pro top a left, pro bottom a right pravý dolní roh
Absolutní pozicování
top, left - leví horní roh webové stránky nebo rodičovského elementu s nastavenou vlastnosti position
bottom, right - stejné jen praví dolní roh
Fixní pozicování
pozicování dle prohlížeče. (levý horní roh a pravý dolní roh)
Sticky pozicování
chová se jako relativně pozicováný ale pokud je odrolován mimo okno začne se chovat fixně
Překrytí elementů
překrytí řídí normal flow
Změnit pořadí překrytí je možné pomocí z-index
hodnota je celé číslo (i záporné)
větší číslo překryje menší
Grid a Flexbox
Grid
základem je grid kontejner, obsahující mřížku pro rozmístění prvků
v CSS musíme nastavit display: grid nebo display: inline-grid
určen čárami, které vymezují buňky a oblasti (řádky a sloupce)
jednotlivé oblasti lze pojmenovat
osy určují jakým způsobem budou prvky v mřížce zarovnány
osy nejsou zobrazeny pouze vymezují prostor pro jednotlivé elementy
vždy hlavní + vedlejší osa
Flexbox
základem je flex container, který obsahuje flex položky
v CSS musíme nastavit display: flex
sloupec a řádek - vždy hlavní + vedlejší osa
Pomůcka pro vlastnosti Gridu a Flexboxu:
zarovnání obsahu kontejneru na hlavní ose provádí vlastnosti justify-* a zarovnání na příčné ose se provádí vlastnosti align-*
zarovnání všech položek určují vlastnosti *-items, distribuci volného místa (mezery) mezi položkami určuje vlastnost *-content a zarovnání samostatné položky určuje *- self
Pozicování
je změna umístění elementu (oproti normal flow) na stránce
vlastnost position:
static - výchozí pozice určená normal flow
relative - relativní vzhled k flow, místo, které element zabíral je prázdné
absolute - absolutní pozice vzhledem k oknu prohlížeče nebo prvnímu absolutně, relativně či fixně pozicovanému rodičovskému elementu, místo je použité pro jiné elementy
fixed - pevná pozice vzhledem k viewportu prohlížeče
sticky - kombinace relativní a fixní pozice (dokud není odrolováno)