⊗mkPmLtTCS 245 of 250 menu

Schéma dvojstĺpcového layoutu stránky v CSS

Vytvorme dvojstĺpcový layout nasledujúceho vzhľadu:

Na začiatok vytvorme základnú štruktúru 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>

Teraz priradíme wrapperu štýly, zarovnáme ho do stredu obrazovky:

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

Nastavme teraz štýly pre header a footer:

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

Ako vidíte, nastavujeme headeru a footeru výšku. Robíme to preto, lebo v našej schéme nemajú žiadny obsah. Ak by obsah mali, výšku by sme blokom nenastavovali - vytvorila by sa podľa ich obsahu.

Všimnite si tiež, že im nenastavujeme šírku. Dôvod je ten, že header a footer sú blokové elementy a ich šírka bude automaticky rovná šírke wrappera.

Dajme im teraz padding, aby text nepriľnul k okrajom:

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

Prítomnosť paddingu však zle ovplyvní veľkosti blokov - stanú sa väčšími, ako je uvedené. Zmeňme správanie všetkých blokov tak, aby padding a okraje nerozširovali naše bloky:

* { box-sizing: border-box; }

Teraz potrebujeme umiestniť obsah a sidebar do jedného radu. Urobme to pomocou flexboxu:

#container { display: flex; }

Určme obsahu a sidebaru ich šírku. Pri tom súčet ich šírok musí byť rovný šírke wrappera:

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

Povedzme, že chceme vytvoriť odstup medzi sidebarom a obsahom. V tomto prípade treba sidebaru nastaviť margin. Pri tom nám bude musieť od niekoho ubrať šírku pre tento margin. Uberme od obsahu, tým pádom zmenšíme jeho šírku:

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

Dajme teraz pridať výšku, pretože naše elementy neobsahujú žiadny obsah. Stačí pridať výšku len jednému elementu, pretože drujý flex element sa prispôsobí výške (prečo?). Dajme nastaviť výšku obsahu:

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

Dajme pridať obsahu a sidebaru zvyšné štýly:

#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 pripravený. Zhromaždime celý kód dokopy:

<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; }
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť