CSS-de iki sütünli maket shemasy

Geliň, aşakdaky görnüşde iki sütünli maket düzeliň:

Ilki bilen sahypanyň esasy gurluşyny dörediň:

html<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>

Indi wrapper üçin stileri kesgitleýäris, ony ekranyň merkezine düzmek bilen:

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

Indi header we footer üçin stileri belleýäris:

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

Görşüňiz ýaly, biz header we footer-a belentlik belläýäris. Biz muny şeýle edýäris, sebäbi bizim shemamyzda olaryň mazmuny ýok. Mazmun bar bolsa, bloklara belentlik bermek gerek däldir - ol olaryň mazmuny arkaly emele geler.

Şeýle hem üns beriň, biz olara giňişlik bermedik. Sebäbi header we footer - blok elementler we olaryň giňişligi awtomatik usulda wrapper-yň giňişligine deň bolar.

Indi olara padding bellaýalyň, tekst çägine ýapyşyp galmasyn diýip:

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

padding-iň bolmagy, şonda-da, bloklaryň ölçeglerine erbet täsir eder - olar görkezilenden uly bolar. Geliň, ähli bloklaryň hereketini üýtgedeliň, padding we çägler biziň bloklarymyzy giňeltmesin:

css* {
  box-sizing: border-box;
}

Indi biz mazmuny we sidebar-y bir hatara goýmaly. Muny fleksler ýardamynda edeliň:

css#container {
  display: flex;
}

Mazmuna we sidebar-a olaryň giňişligini görkezeliň. Bu ýagdaýda olaryň giňişlikleriniň jemi wrapper-yň giňişligine deň bolmaly:

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

Biz sidebar we mazmunyň arasynda arakesme etmek isleýändigimizi farz edeliň. Bu ýagdaýda sidebar-a margin goýmagyňyz gerek. Bu ýagdaýda biz bu margin üçin giňişligi birinden aýyrmaly bolarys. Mazmundan aýyralyň, degişlilikde onuň giňişligini peseldip:

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

Indi belentlik goşalyň, sebäbi bizim elementlerimizde mazmun ýok. Diňe bir elemente belentlik goşmak ýeterlikdir, sebäbi ikinji fleks elementi belentlik boýunça özüni sazlaryr (näme üçin?). Geliň, mazmuna belentlik bellaýalyň:

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

Geliň, mazmuna we sidebar-a galan stilleri goşalyň:

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

Hemmesi, bizim maketimiz taýýar. Kodyň hemmesini bilelikde ýygnayalyň:

html<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>
css* {
  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;
}
Задание 1
Задание 2