Здравствуйте!
Пришлось немного поломать голову, но с заданием справилась. Очень бы хотелось услышать критику по коду.
Мне кажется, что немного намудрила с классами .header и .column, но без этого “костыля” не получилось сделать нормальную шапку.
HTML
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Испытание: строим сетку</title>
<meta charset="utf-8">
</head>
<body>
<div class="main-header">
<div class="header">
<div class="layout-positioner">
<div class="column">
Header
</div>
</div>
</div>
<div class="menu">
<div class="layout-positioner">
Menu
</div>
</div>
<div class="promo">
<div class="layout-positioner">
<div class="layout-column">
Promo 1
</div>
<div class="layout-column">
Promo 2
</div>
</div>
</div>
</div>
<div class="features">
<div class="layout-positioner">
<div class="layout-column-left layout-column">
Left
</div>
<div class="layout-column-main layout-column">
Main
</div>
<div class="layout-column-right layout-column">
Right
</div>
</div>
</div>
<div class="footer">
<div class="layout-positioner">
Footer
</div>
</div>
</body>
</html>
CSS
html,
body {
margin: 0;
padding: 0;
}
body {
width: 450px;
height: 335px;
font-family: "Arial", sans-serif;
font-size: 10px;
color: white;
}
.main-header {
background: #34495e;
}
.header {
background: #34495e;
margin-bottom: 10px;
}
.header .column {
padding: 5px;
min-height: 25px;
background: #c0392b;
}
.header .layout-positioner {
padding-top: 10px;
}
.menu {
padding-left: 10px;
padding-top: 5px;
width: 440px;
min-height: 15px;
background: #3498DB;
}
.promo {
margin-top: 10px;
}
.promo .layout-column {
padding: 5px;
width: 160px;
min-height: 50px;
background: #c0392b;
float: left;
margin-right: 10px;
margin-bottom: 10px;
}
.promo .layout-column:last-child {
margin-right: 0;
}
.features .layout-column {
min-height: 100px;
background: #3498DB;
margin-right: 10px;
margin-bottom: 10px;
margin-top: 10px;
padding: 5px;
}
.features .layout-column-left {
float: left;
width: 60px;
}
.features .layout-column-main {
float: left;
width: 180px;
}
.features .layout-column-right {
float: right;
width: 60px;
}
.features .layout-column:last-child {
margin-right: 0;
}
.layout-positioner {
min-height: 30px;
width: 350px;
margin: 0 auto;
/*border: 2px dashed white;*/
}
.layout-positioner::after {
display: table;
content: "";
clear: both;
}
.footer {
padding-left: 10px;
padding-top: 5px;
min-height: 40px;
background: #34495e;
}