Lekce 12 - Okraje prvků: margin a padding v CSS3
V předchozím kvízu, Kvíz - Text a písmo podruhé, seznamy a tabulky v CSS3, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
V této lekci se podíváme na důležitou věc při formátování HTML
stránky v jazyce CSS3, a to sice neviditelné okraje okolo
prvků, které se nastavují CSS vlastnostmi margin a
padding. Tyto okraje nejdou vidět, takže jde vlastně o způsob,
jakým odsadit daný prvek od ostatních či obsah
prvku od okrajů prvku, čímž docílíme stránky, na níž nejsou
prvky na sobě ošklivě nalepené a příliš úsporné, ale která naopak
působí vzdušně a tak akorát prostorově "velkoryse". V
tom, že tyto okraje nejsou vidět, se liší od rámečku
(border).
Box model
Na úvod si vysvětlíme rozdíl mezi vnějším
(margin) a vnitřním (padding)
okrajem. Pomocí CSS3 vlastnosti margin nastavujeme okraj elementu,
tedy vzdálenost mezi rámečkem a okolím elementu.
Pomocí CSS3 vlastnosti padding potom nastavujeme vzdálenost mezi
rámečkem a obsahem elementu.
Margin a padding jsou spolu s vlastností
border součástí tzv. box modelu (občas
překládáno jako "krabičkový model").

Box model znázorňuje pozici těchto 3 vlastností okolo obsahu HTML elementu. Můžeme nastavovat okraje mezi rámečkem a okolím nebo obsahem elementu a rámečkem.
Ani jeden okraj se nepočítá do velikosti elementu. Pokud tedy
nastavíme margin na 10px, border na
5px a padding na 10px na elementu s
šířkou 100px, bude jeho výsledná šířka
150px.
Margin (vnější okraj)
Margin nastaví všechny 4 okraje (levý
margin, pravý margin, dolní margin i
horní margin) na stejnou velikost. Pokud chceme mít každý
vnější okraj jiný, můžeme (místo všeobecné vlastnosti
margin) použít tyto vlastnosti:
margin-left- Levý vnější okraj.margin-right- Pravý vnější okraj.margin-top- Horní vnější okraj.margin-bottom- Dolní vnější okraj.
Padding (vnitřní okraj)
Padding nastaví všechny 4 vzdálenosti (levý
padding, pravý padding, dolní padding i
horní padding) na stejnou velikost. Pokud chceme mít vnitřní
okraj jiný, můžeme (podobně jako u margin) použít tyto
vlastnosti:
padding-left- Levý vnitřní okraj.padding-right- Pravý vnitřní okraj.padding-top- Horní vnitřní okraj.padding-bottom- Dolní vnitřní okraj.
Ukázka ostylování okraje elementu
Mějme CSS kód:
#kontejner { border: 1px solid blue; background-color: #BDBDF8; margin: 40px; padding: 20px; width: 300px; height: 100px; }
A k tomu HTML:
<div id="kontejner"> Mezi rámečkem a okolím je okraj `40px` a mezi tímto textem a rámečkem je okraj `20px`. Pozadí se vykresluje až k rámečku. </div>
Výsledek:
Poměrně jednoduché, že? Nezapomeňme, že správná velikost vnitřních i vnějších okrajů je otázkou citu, vkusu a zkušenosti. Je třeba experimentovat s různými velikostmi odsazení a zkoušet, co na nás jak působí. Příliš natěsnané prvky působí skličujícím dojmem a chaoticky, příliš velké a extrémně odsazené zase vyvolávají pocit plýtvání místem a "rozsypanosti" stránky
V další lekci, Okraje a rámečky v CSS3, si ukážeme, jak pracovat se vzhledy okrajů, jaké jim lze nastavit barvy, velikost a styl.
