Часто при разработке встречаются макеты, в которых блоки имеют фон на всю ширину страницы, а содержимое этих блоков стоит по центру. Вот пример такого макета:
В таком макете нам придется сделать не один враппер, а несколько - для каждого блока. При этом внутри враппера должен быть еще один блок, выполняющий центрирование содержимого. Также должен быть класс, отвечающий за покраску содержимого фоном.
Общая схема нашего макета будет выглядеть следующим образом:
<div class="wrapper">
<div class="center">
</div>
</div>
<div class="wrapper line">
<div class="center">
</div>
</div>
<div class="wrapper">
<div class="center">
</div>
</div>
<div class="wrapper line">
<div class="center">
</div>
</div>
Класс center
будет использоваться
для центрирования блоков:
.center {
width: 800px;
padding: 20px;
margin: 0 auto;
}
Класс line
будет использоваться для
покраски блоков:
.wrapper.line {
background-color: #008040;
color: white;
}
А класс wrapper
будет родителем каждого
блока. Используем его для задания отступа
между блоками:
.wrapper {
margin-bottom: 30px;
}
Давайте теперь напишем полный код нашей задачи:
<div class="wrapper">
<div class="center">
<h1>Main site header</h1>
</div>
</div>
<div class="wrapper line">
<div class="center">
<h2>Our company</h2>
<p>
...
</p>
<p>
...
</p>
</div>
</div>
<div class="wrapper">
<div class="center">
<h2>Our price</h2>
<p>
...
</p>
<p>
...
</p>
</div>
</div>
<div class="wrapper line">
<div class="center">
<h2>Our contacts</h2>
<p>
...
</p>
<p>
...
</p>
</div>
</div>
* {
box-sizing: border-box;
}
body {
margin: 0;
}
.wrapper {
margin-bottom: 30px;
}
.wrapper.line {
background-color: #008040;
color: white;
}
.center {
width: 800px;
padding: 20px;
margin: 0 auto;
}
.wrapper h1 {
margin: 0;
font: 40px "Times New Roman";
}
.wrapper h2 {
margin: 0;
font: 25px "Times New Roman";
}
.wrapper p {
font: 16px/1.4 Arial;
text-align: justify;
}