Moderní tvorba webových aplikací

O webu

Margin, border a absolutní posicování

Jak se chová margin a border u absolutně posicovaných elementů.

4 minuty

Fakt, že něco absolutně naposicujeme – tj. umístíme přesně na určité místo vlastnostmi top/bottom, left/right – nemusí znamenat, že to na daném místě skutečně bude.

Změnit posici elementu s position: absolute dokáže vlastnost margin.

Obsah je v obalu s position: relative.

Obsah.

Abs. posicovaný element (bottom: 0; right: 0)

Jak je vidět, přidání marginu element posune.

To na jednu stranu může být výhodné chování, na stranu druhou to může nepříjemně překvapit u elementů, které mají různý margin napříč prohlížeči. To je třeba element <button>, který má v Chrome 2px margin a jinde má nulu.

Živá ukázka rozdílu v Chrome.

Výchozí margin tlačítka v Chrome

Hranice obalu

Další zajímavá věc je, kde se nacházejí hranice obalu s position: relative, kam se potom prvek absolutně umisťuje.

Vezmeme-li si obecné znázornění boxu, pomyslný bod „top: 0; left: 0“ se nachází na hranici mezi paddingem a borderem.

Části boxu

Někdy je cílem, aby například rámeček boxu splýval s rámečkem absolutně posicovaného tlačítka.

Splývání okrajů

Řešení je buď záporný margin o rozměrech rámečku, nebo záporné souřadnice top/bottom, left/right – rovněž o tloušťku rámečku.

Ukázka obou postupů

Problém nastane, když budeme potřebovat obalu nastavit overflow: hidden, protože rámeček se v podstatě nachází mimo obsah + padding (jak znázorňuje předchozí obrázek), takže bude oříznut.

Splývání okrajů

Živá ukázka

Řešení je umístit oba prvky s rámečkem na stejnou úroveň v HTML kódu. Ukázka.

Nebo rámeček vytvořit vlastností box-shadow (IE 9+). Ukázka.

Související články

Zobrazení dlouhé URL

Jak zobrazit dlouhé URL v aplikaci, aby nerozbila layout.

6 minut

Převod písmen na VELKÁ a malá

Převedení textu na velká nebo malá písmena.

12 minut

Možnosti stylování <iframe>

Co lze a nelze u <iframe> ovlivnit pomocí CSS a jak na změnu textu nebo barev.

10 minut

Zvýraznění aktivní sekce při rolování

Moderní způsoby zvýraznění aktivní položky navigace podle aktuální sekce – CSS i IntersectionObserver.

5 minut

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025