CSS box model
- popisuje vizualizaci každého HTML elementu.
- ten se skládá z:
- venkovní hrany
- venkovního okraje (
margin
) - rámečku (
border
) - vnitřního okraje (
padding
) - vnitřní hrany
- obsahu
Rámeček - border
- úprava vizualizace rámečku: border-*
Info
Existuje i rámeček
outline
, ten se ale používá pouze při ladění / vývoji, jelikož jeho velikost může upravovat každý prohlížeč jinak
Okraje
Vnější okraj - margin
- vizualizace vnějších okrajů:
margin-*
Tip
Lze použít hodnotu auto pro automatické nastavení levého a pravého vnějšího okraje pro horizontální zarovnání na střed
Vnitřní okraj - padding
- vizualizace vnitřních okrajů:
padding-*
Zobrazení elementu
- zobrazení elementu pomocí vlastnosti
display
- tři základní zobrazení:
- Blokové zobrazení (
block
)- Zabírá celou šířku svého nadřazeného prvku.
- Každý blokový prvek začíná na novém řádku.
- Řádkové zobrazení (
inline
)- Zabírá pouze tolik místa, kolik je potřeba pro jeho obsah.
- Více řádkových prvků může být umístěno vedle sebe na stejném řádku.
- Řádkově-blokové zobrazení (
inline-block
)- Kombinace vlastností blokových a řádkových prvků.
- Prvek je zobrazen jako řádkový prvek, ale může mít nastavené rozměry (šířku a výšku).
- Více inline-block prvků může být umístěno vedle sebe na stejném řádku.
- Blokové zobrazení (
Tip
Vlastnost
display
má i hodnotunone
, která způsobí, že se element (ani jeho potomci) nevykreslí
Rozměry elementu
- vlastnosti
width
aheight
jdou použít pouze u blokového zobrazení:display: block;
nebodisplay: inline-block;
- možnost omezit velikost elementu:
min-width
amin-height
,max-width
amax-height
Výchozí stav
Ve výchozím stavu se šířka (analogicky i výška) vypočítá vztahem:
width
(height
) +padding
+border
= skutečná šířka(výška) elementuPokud chceme aby vlastnost
width
(height
) skutečně odpovídala nastavené hodnotě použijemebox-sizing: border-box;
Bez
border-box
Skutečná šířka elementu: 134 px
S vlastností
border-box
Skutečná šířka elementu: 100 px
- Do rozměrů je započítávána šířka(výška) vnitřního okraje (2 * padding) i šířka(výška) vnitřního okraje a rámečku (2 * border)
Info
- Pokud upravujeme velikosti elementů, může se stát že obsah elementu přeteče (obsah je větší než velikost rodičovského elementu)
- Chování přetečení upravíme vlastností
overflow
Navigace
Předchozí: HTML struktura webové stránky Následující: Dědičnost a kaskáda Celý okruh: 2. Informační technologie