Schéma de mise en page à trois colonnes de site web en CSS

Maintenant, créons une mise en page à trois colonnes. Voici un exemple de ce que nous devrions obtenir :

Pour commencer, écrivons la structure du site :

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

Définissons la largeur du wrapper et centrons-le :

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

Mettons les blocs du conteneur en ligne :

css#container {
  display: flex;
}

Assignons maintenant les largeurs des blocs de manière à ce que leur somme donne la largeur du wrapper :

css#content {
  width: 700px;
}
#left {
  width: 200px;
}
#right {
  width: 200px;
}

Ajoutons maintenant des margins, en les soustrayant de la largeur du contenu :

css#content {
  width: 660px;
}
#left {
  width: 200px;
  margin-right: 20px;
}
#right {
  width: 200px;
  margin-left: 20px;
}

Ajoutons les autres styles :

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

Écrivons le code final :

html<div id="wrapper">
  <div id="header">
    header
  </div>
  <div id="container">
    <div id="left">
      left sidebar
    </div>
    <div id="content">
      content
    </div>
    <div id="right">
      right sidebar
    </div>
  </div>
  <div id="footer">
    footer
  </div>
</div>
css* {
  box-sizing: border-box;
}

#wrapper {
  width: 1100px;
  margin: 30px auto;
  border: 1px solid black;
}
#header {
  height: 200px;
  padding: 20px;
  border: 1px solid black;
}
#container {
  display: flex;
}
#content {
  width: 660px;
  height: 700px;
  padding: 20px;
  border: 1px solid black;
}
#left {
  width: 200px;
  margin-right: 20px;
  padding: 20px;
  border: 1px solid black;
}
#right {
  width: 200px;
  margin-left: 20px;
  padding: 20px;
  border: 1px solid black;
}
#footer {
  height: 200px;
  padding: 20px;
  border: 1px solid black;
}
Задание 1
Задание 2
Задание 3