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

Долго промучалась с заданием, но так и не могу понять, где ошибка. Знаю, что код кривой-косой, но стараюсь улучшать.
Из-за того, что футер передвигается наверх, все перемещается, и получается каша. Прошу помощи! Заранее спасибо.

HTML:

<!DOCTYPE html>
<html lang="ru">
    <head>
        <title>Испытание: строим сетку</title>
        <meta charset="utf-8">
    </head>
    <body>
        <div class="top clearfix">
            <div class="layout-positioner">
            <div class="header">
                Header
            </div>
            </div>
            <div class="menu">
                Menu
            </div>
            <div class="layout-positioner">
            <div class="promo promo-1">
                Promo 1
            </div>
            <div class="promo promo-2">
                Promo 2
            </div>
            </div>
        </div>
        <div class="bottom clearfix">
            <div class="layout-positioner">
             <div class="column column-left">
                 Left
             </div>
             <div class="column column-main">
                 Main
             </div>
             <div class="column column-right">
                 Right
             </div>
             </div>
         </div>
         
         <div class="footer">
             Footer
         </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;
}

.top, .footer {
    background-color: #34495e;
    width: auto;
}

.promo, .header {
    background: #c0392b;
}
.promo-1 {
    float: left;
    margin-right: 10px;
}

.promo-2 {
   float: right; 
}

.promo {
    min-height: 50px;
    width: 170px;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-top: 5px;
    padding-left: 5px;
}
.top {
    background-color: #34495e;
    padding-top: 10px;
    padding-bottom: 10px;
}
.clearfix: :after {
    content: "";
    display: table;
    clear: both;
}
.layout-positioner {
    width: 350px;
    margin: 0 auto;
}

.menu {
    height: 30px;
    width: auto;
    background-color: #3498DB;
    margin-top: 10px;
    padding-left: 55px;
    padding-top: 5px;
}

.header {
    width: 345px;
    height: 30px;
    color: white;
    padding-left: 5px;
    padding-top: 5px;
    margin-top: 10px;
}

.column {
    background-color: #3498DB;
    padding-top: 5px;
    padding-left: 5px;
}

.column-left {
    float: left;
    width: 65px;
    height: 105px;
}
.column-main {
    width: 200px;
    height: 105px;
    margin-left: 10px;
    float: left;
}

.column-right {
    float: right;
    margin-left: 10px;
    width: 65px;
    height: 105px;
}

.bottom {
    padding-top: 10px;
    padding-bottom: 10px;
}

.footer {
    width: auto;
    background-color: #34495e;
    height: 35px;
    padding-left:55px;
    padding-top: 5px;
}`

Вставьте код правильно, ничего не видно.
Кнопка в редакторе сообщений выглядит так: </>

Она не работает, вставляется только часть кода, попробую сделать скрин.

Всё работает. Отредактировал ваш пост :+1: Выделяете текст, нажимаете кнопку.

Ошибок много, но начнем с главного, то есть с каши)
Ваша самая большая ошибка, которая поломала всё:

Это пробел между двумя двоеточиями в селекторе. Правильно пишется так: .clearfix::after.
Далее несколько ошибок, связанных с неправильным определением размеров. Если общая ширина получается меньше, чем суммарная ширина блоков promo или следующих за ними трех блоков, расположенных в одну строку, то они соответственно не помещаются и съезжают вниз.
И еще одна ошибка, касающаяся header. Это эффект схлопывания внешних отступов, рассмотренная в этом задании: https://htmlacademy.ru/courses/44/run/10
padding-top: 10px; для top вы добавили, но margin-top: 10px; у header не убрали, поэтому сумарный отступ сверху получился больше.
Ваш исправленный вариант кода:
html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 335px;
font-family: “Arial”, sans-serif;
font-size: 10px;
color: white;
}

.top, .footer {
background-color: #34495e;
width: auto;
}

.promo, .header {
background: #c0392b;
}
.promo-1 {
float: left;
margin-right: 10px;
}

.promo-2 {
float: right;
}

.promo {
min-height: 55px;
width: 165px;
margin-top: 10px;
/margin-bottom: 10px;/
padding-top: 5px;
padding-left: 5px;
}
.top {
background-color: #34495e;
padding-top: 10px;
padding-bottom: 10px;
}
.clearfix::after {
content: “”;
display: table;
clear: both;
}
.layout-positioner {
width: 350px;
margin: 0 auto;
}

.menu {
height: 30px;
width: auto;
background-color: #3498DB;
margin-top: 10px;
padding-left: 55px;
padding-top: 5px;
}

.header {
/width: 345px;/
height: 30px;
color: white;
padding-left: 5px;
padding-top: 5px;
/margin-top: 10px;/
}

.column {
background-color: #3498DB;
padding-top: 5px;
padding-left: 5px;
}

.column-left {
float: left;
width: 65px;
height: 105px;
}
.column-main {
width: 185px;
height: 105px;
margin-left: 10px;
float: left;
}

.column-right {
float: right;
margin-left: 10px;
width: 65px;
height: 105px;
}

.bottom {
padding-top: 10px;
padding-bottom: 10px;
}

.footer {
width: auto;
background-color: #34495e;
height: 35px;
padding-left:55px;
padding-top: 5px;
}
Почитайте другие темы по этому заданию, может улучшите код еще.

Спасибо большое! Знаю, что в коде каша, но ничего не могу поделать с этим :frowning: Стараюсь исправляться. Еще раз огромное спасибо!