Části webu přes celou šířku

Jak jen některé části webu roztáhnout přes celou šířku.

3 minuty

Rozlišení monitorů často nabízí mnohem větší šířku, než by pro webovou stránku stačila – pokud je na stránce hodně textového obsahu, stejně není s ohledem na čitelnost rozumné mít text v dlouhých řádcích.

Proto se maximální šířka zpravidla omezuje. Slouží k tomu CSS vlastnost max-width.

Někdy se pro atraktivnější vzhled roztahují hlavička, patička nebo nějaká jiná část přes celou šířku s tím, že samotný obsah má šířku omezenou a je vycentrován.

Roztažení hlavičky a patičky přes celou šířku

CSS řešení

Docílit roztažení mimo hlavní centrovaný blok jde více způsoby.

Jako výchozí bod může posloužit tento obyčejný centrovaný layout s maximální šířkou:

Obrázkové pozadí

Na vršek a spodek webu se nastaví barevné pozadí o výšce hlavičky/patičky. Právě kvůli nutnosti pevné výšky se jedná o řešení hodně nepraktické.

Nastavování výšky na pevnou hodnotu ve většině případů nevěstí nic dobrého.

Posicování

Vytvořit barevné pozadí pomocí absolutního posicování se hodí zvlášť v případě, kdy by bylo problematické upravovat HTML kód.

Toto řešení využívá toho, že se na základě výšky patičky/hlavičky vytvoří element s hodně velkou šířkou, nastaví se mu levá záporná posice a pomocí z-indexu se zastrčí za obsah.

Aby posicované pozadí nevytvořilo vodorovný posuvník, ořízne se stránka ve vodorovném směru (overflow-x: hidden).

Použití obalu

Nejlepší řešení se zdá použít pro každou část stránky, která má mít pozadí přes celou šířku, další obalový element a každou část centrovat samostatně.

<div style="background: blue">
  <div style="max-width: 900px; margin: auto">
    Hlavička
  </div>
</div>

Obalový element potom má nastavenou pouze barvu pruhu mimo obsah a veškeré další stylování (centrování, nastavení maximální šířky a podobně) se provádí u vnitřního elementu.

Co si myslíte o tomto článku?

Diskuse

Související články

CSS item-pack: balance – vyvážené rozložení flex položek

Vlastnost item-pack: balance rozděluje flex položky rovnoměrně mezi řádky, podobně jako text-wrap: balance vyvažuje řádky textu.

11 minut

CSS Container Queries – responsivní komponenty

Jak pomocí @container, container-type a container-name vytvářet komponenty, které se přizpůsobí velikosti svého rodiče místo viewportu.

16 minut

CSS Anchor Positioning – posicování elementů relativně k jiným

Jak pomocí anchor-name, position-anchor a funkce anchor() posicovat elementy relativně k jiným bez JavaScriptu.

6 minut

CSS Stacking Context – jak funguje vrstvení elementů a z-index

Jak stacking context v CSS ovlivňuje z-index, co vytváří nový kontext vrstvení a jak řešit problémy s překrýváním elementů.

7 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata · Zkratky
2013–2026