Испытание [27/32] 100%. На сколько правильно всё прописано? Пожалуйста, критику.

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

html,
body {
margin: 0;
padding: 0;
}

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

.layout-positioner {
width: 350px;
margin: 0 auto;
}

.layout-positioner::after {
content: “”;
display: table;
clear: both;
}

.text {
padding: 5px;
}

.header {
background-color: #34495e;
padding-top: 10px;
}

.header .layout-header {
background-color: #c0392b;
margin-bottom: 10px;
min-height: 25px;
}

.menu {
background-color: #3498DB;
padding-bottom: 10px;
min-height: 25px;
}

.menu .layout-menu {
background-color: #3498DB;
}

.promo {
background: #34495e;
min-height: 25px;
padding-bottom: 10px;
padding-top: 10px;
}

.promo .layout-promo-1 {
float: left;
background-color: #c0392b;
margin-right: 10px;
min-height: 50px;
width: 160px;
}

.promo .layout-promo-2 {
float: left;
background-color: #c0392b;
min-height: 50px;
width: 160px;
}

.content {
min-height: 50px;
padding-top: 10px;
padding-bottom: 10px;
}

.content .layout-left {
float: left;
width: 60px;
min-height: 100px;
background-color: #3498DB;
margin-right: 10px;
}

.content .layout-main {
float: left;
width: 180px;
min-height: 100px;
background-color: #3498DB;
margin-right: 10px;
}

.content .layout-right {
float: right;
width: 60px;
min-height: 100px;
background-color: #3498DB;
}

.footer {
background-color: #34495e;
min-height: 35px;
}

Могли продолжать предыдущую свою тему.
Ошибок нет, можете поработать над оптимизацией - сделать код короче за счет группировки одинаковых свойств у блоков.

Вы можете указать где именно можно? Я оптимизировал как мог :frowning:

Я имею в виду общие свойства для двух и трех колонок. Можно селекторы писать через запятую в одном правиле.

Буду знать, спасибо большое :wink:

Обратите внимание на “Логический” блок Хедер, вы его разбили на три самостоятельные части в связи с чем у вам много лишнего в коде, что в свою очередь утяжеляет его и делает работу медленнее. В этом конкретном коде вы это не увидите, но если бы код был строк так на очень много…
Так же разберитесь с наследованостью у классов, у вас все классы уникальны, поэтому вам она не нужна, а значит можно убрать лишнее в css коде и тем самым облегчить код.