⊗mkPmLtTCS 245 of 250 menu

Schemat układu dwukolumnowego strony w CSS

Stwórzmy układ dwukolumnowy następującego rodzaju:

Na początek stwórzmy główną strukturę strony:

<div id="wrapper"> <div id="header"> nagłówek </div> <div id="container"> <div id="content"> treść </div> <div id="sidebar"> panel boczny </div> </div> <div id="footer"> stopka </div> </div>

Teraz przypiszmy style dla kontenera, wyrównując go do środka ekranu:

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

Ustawmy teraz style dla nagłówka i stopki:

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

Jak widzisz, ustawiamy nagłówkowi i stopce wysokość. Robimy tak, ponieważ w naszym schemacie nie mają one zawartości. W przypadku posiadania zawartości nie należy ustawiać wysokości blokom - będzie się ona kształtować na podstawie ich zawartości.

Zwróć także uwagę na to, że nie ustawiamy im szerokości. Chodzi o to, że nagłówek i stopka to elementy blokowe i ich szerokość będzie automatycznie równa szerokości kontenera.

Ustawmy im teraz padding, aby tekst nie przylegał do krawędzi:

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

Obecność paddingu, jednak, źle wpłynie na rozmiary bloków - staną się one większe, niż określono. Zmieńmy zachowanie wszystkich bloków tak, aby padding i obramowania nie powiększały naszych bloków:

* { box-sizing: border-box; }

Teraz musimy umieścić treść i panel boczny w jednym rzędzie. Zróbmy to za pomocą flexboxów:

#container { display: flex; }

Określmy treści i panelowi bocznemu ich szerokość. Przy tym suma ich szerokości powinna być równa szerokości kontenera:

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

Załóżmy, że chcemy zrobić odstęp między panelem bocznym a treścią. W tym przypadku panelowi bocznemu trzeba ustawić margin. Przy tym będziemy musieli od kogoś odjąć szerokość dla tego marginu. Odejmijmy od treści, odpowiednio zmniejszając jej szerokość:

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

Dodajmy teraz wysokość, ponieważ nasze elementy nie zawierają zawartości. Wystarczy dodać wysokość tylko jednemu elementowi, ponieważ drugi element flex dostosuje się wysokością (dlaczego?). Ustawmy wysokość treści:

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

Dodajmy treści i panelowi bocznemu pozostałe style:

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

Wszystko, nasz układ jest gotowy. Zbierzmy cały kod razem:

<div id="wrapper"> <div id="header"> nagłówek </div> <div id="container"> <div id="sidebar"> panel boczny </div> <div id="content"> treść </div> </div> <div id="footer"> stopka </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; }
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć