Испытание: строим сетку [27/32]

Выполнил испытание на 100 процентов. Но без использования layout-positioner.
Как только пытаюсь обернуть то что находится в классах .top или .content то всё рушится. Появляются отступы. Когда оборачиваю то что находится внутри класса .top то оборачивается совсем не header а вся полоса над Menu. Покажите пожалуйста как правильно сделать с использованием layout-positioner.
Вот коды.

<html>
    <head>
       <title>Испытание: строим сетку</title>
       <meta charset="utf-8">
    </head>
    <body>
<div class="container">
    <div class="top clearfix">
      
        <div class="header red">Header</div>
      
        <div class="menu">Menu</div>
      
        <div class="promo1 red">Promo 1</div>
        <div class="promo2 red">Promo 2</div>
      
    </div>
    
    <div class="content clearfix">
        <div class="left">Left</div>
        <div class="main">Main</div>
        <div class="right">Right</div>
    </div>
    
        <div class="footer">Footer</div>
    </body>
</html>

html, body{
    margin:0;
    padding:0;
}
body{
    width:450px;
    height:335px;
    font-family:'Arial', sans-serif;
    font-size:10px;
    color:white;
}
/*
    Используемые цвета:
    #34495e - мокрый асфальт
    #c0392b - красный
    #3498DB - синий
*/


.container {
    width: 450px;
    height: 335px;
    margin: 0px auto;
    
}

.top {
    background-color: #34495e;
    
}

.red {
    background-color: #c0392b;
}

.header {
    float:left;
    width: 340px;
    height: 25px;
    margin: 10px 0px 10px 50px;
    padding: 5px;
}

.menu {
    background-color: #3498DB;
    float:left;
    width: 390px;
    height: 25px;
    padding: 5px 5px 5px 55px;
}

.promo1, .promo2 {
    float: left;
    margin: 10px 10px 10px 50px;
    width: 160px;
    height: 50px;
    padding: 5px;
}

.promo2 {
    margin-right: 0px;
    margin-left: 0px;
}

.left, .main, .right {
    float: left;
    background-color: #3498DB;
    margin: 10px 10px 10px 50px;
    padding: 5px
}

.left {
    width: 60px;
    height: 100px;
}

.main {
    margin-right: 0px;
    margin-left: 0px;
    width: 180px;
    height: 100px;
}

.right {
    margin-left: 10px;
    margin-right: 0px;
    width: 60px;
    height: 100px;
}

.footer {
    float:left;
    width: 390px;
    height: 30px;
    padding: 5px 5px 5px 55px;
    background-color: #34495e;
}
    
.clearfix:after {
    content:'';
    display: table;
    clear: both;
}

.layout {
    margin: 0px auto;
    
}

Если актуально, то вот мое решение с центровкой. Задание выполнено на 100.


    
       Испытание: строим сетку
       
    
    
        
Header
Menu
Promo 1
Promo 2
Left
Main
Right
Footer
html, body{
    margin:0;
    padding:0;
}
body{
    width:450px;
    height:335px;
    font-family:'Arial', sans-serif;
    font-size:10px;
    color:white;
}
.layout{
    padding-left:5px;
    padding-top:5px;
}

.header{
    background-color:#34495e;
    padding-top:10px;
}
.layout-positioner:after{
    content: '';
    clear:both;
    display:table;
}
.layout-positioner{
    width:350px;
    margin-left: auto;
    margin-right:auto;
}
.header-layout{
    min-height:30px;
     background:#c0392b;
     margin-bottom:10px;
}
.menu{
    padding-left:55px;
    padding-top:5px;
    background:#3498DB ;
    margin-bottom:10px;
    min-height:30px;
}

.promo-layout{   
    min-height:55px;
    width:165px;
    background:#c0392b;
    margin-bottom:10px;
}
.promo-layout:first-child{
    float:left;
    margin-right:10px;
}
.promo-layout:last-child{
    float:right;
}

.layout-column{
    background: #3498DB;
    min-height:100px;
    margin-bottom: 10px;
    margin-top:10px;
    padding:5px;
    
}
.layout-column:first-child
{
    float:left;
    margin-right:10px;
    width:60px;   
}
.layout-column:nth-child(2){
    float:left;
    margin-right:10px;
    width:180px;
}
.layout-column:last-child{
    float:right;
    width:60px;
}

.footer{
    background:#34495e;
    min-height:50px;
    padding-left:10px;
}


2 лайка

Вы содержимое menu паддингом подогнали и header, menu и promo каждый в свой layout-positioner обернули. Нет ли у вас мысли, что все это надо в один общий layout-positioner обернуть, а заливку menu как-то за пределы layout-positioner распространить. Естественно чтобы содержимое menu контролировалось этим общим layout-positioner. Возможно ли так сделать? Я застрял в этом принципиальном вопросе.