⊗mkPmLtTCS 245 of 250 menu

Schéma dvousloupcového layoutu webu v CSS

Pojďme vytvořit dvousloupcový layout následujícího druhu:

Nejprve vytvoříme základní strukturu stránky:

<div id="wrapper"> <div id="header"> header </div> <div id="container"> <div id="content"> content </div> <div id="sidebar"> sidebar </div> </div> <div id="footer"> footer </div> </div>

Nyní přiřadíme wrapperu styly, zarovnáme jej na střed obrazovky:

#wrapper { width: 1000px; margin: 30px auto; border: 1px solid black; }

Nyní nastavme styly pro header a footer:

#header { height: 200px; border: 1px solid black; } #footer { height: 200px; border: 1px solid black; }

Jak vidíte, nastavujeme headeru a footeru výšku. Děláme to proto, že v našem schématu nemají žádný obsah. Pokud by obsah měly, výšku bychom blokům nastavovat neměli - bude se tvořit jejich obsahem.

Všimněte si také, že jsme jim nenastavili šířku. Děje se tak proto, že header a footer jsou blokové elementy a jejich šířka bude automaticky rovna šířce wrapperu.

Nyní jim nastavme padding, aby se text nelepil k okrajům:

#header { height: 200px; padding: 20px; border: 1px solid black; } #footer { height: 200px; padding: 20px; border: 1px solid black; }

Přítomnost paddingu však špatně ovlivní velikosti bloků - stanou se většími, než je uvedeno. Změňme chování všech bloků tak, aby padding a ohraničení nerozšiřovaly naše bloky:

* { box-sizing: border-box; }

Nyní potřebujeme umístit obsah a sidebar do jedné řady. Uděláme to pomocí flexboxu:

#container { display: flex; }

Nastavme obsahu a sidebaru jejich šířku. Přitom součet jejich šírek musí být roven šířce wrapperu:

#content { width: 800px; } #sidebar { width: 200px; }

Řekněme, že chceme vytvořit mezeru mezi sidebarem a obsahem. V tomto případě je sidebaru potřeba nastavit margin. Zároveň budeme muset někomu ubrat šířku pro tento margin. Uberme od obsahu, podle toho snižme jeho šířku:

#content { width: 780px; } #sidebar { width: 200px; margin-right: 20px; }

Nyní přidejme výšku, protože naše elementy neobsahují obsah. Stačí přidat výšku pouze jednomu elementu, protože druhý flex element se přizpůsobí výšce (proč?). Nastavme výšku obsahu:

#content { width: 780px; height: 700px; } #sidebar { width: 200px; margin-right: 20px; }

Nyní přidejme obsahu a sidebaru zbývající styly:

#content { width: 780px; height: 700px; padding: 20px; border: 1px solid black; } #sidebar { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; }

Hotovo, náš layout je připraven. Shrňme celý kód dohromady:

<div id="wrapper"> <div id="header"> header </div> <div id="container"> <div id="sidebar"> sidebar </div> <div id="content"> content </div> </div> <div id="footer"> footer </div> </div> * { box-sizing: border-box; } #wrapper { width: 1000px; margin: 30px auto; border: 1px solid black; } #header { height: 200px; padding: 20px; border: 1px solid black; } #container { display: flex; } #content { width: 780px; height: 700px; padding: 20px; border: 1px solid black; } #sidebar { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } #footer { height: 200px; padding: 20px; border: 1px solid black; }
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout