27/32 Мнение опытных товарищей

Добрый день! Задание выполнено на 100%, но хотел бы узнать у более опытных разработчиков, не понаписал ли я ерунды вместо толкового кода? Спасибо!
HTML:

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

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

.layout-positioner:after {
    content: "";
    clear: both;
    display: block;
}

/*Header*/
.header {
    background-color: #34495e;
    padding: 10px 0;
}

.top-header {
    background-color: #c0392b;
    padding: 5px;
    min-height: 25px;
}

.blue-bgc {
    background-color: #3498DB;
    min-height: 35px;
    margin: 10px 0;
}

.menu-header {
    padding: 5px;
}

.header .layout-column {
    float: left;
    margin-right: 10px;
    background-color: #c0392b;
    min-height: 60px;
    width: 170px;
}

.header .layout-column:last-child {
    margin-right: 0px;    
}

.promo {
    padding: 5px;
}
/*Features*/
.features {
    background-color: ;
}

.features .layout-column {
    background-color: #3498DB;
    float: left;
    margin: 10px 10px 10px 0;
    padding: 5px;
    min-height: 100px;
}

.column1, .column3 {
    width: 60px;
}

.column2 {
    width: 180px;
}

.features .layout-column:last-child {
    margin-right: 0px;
}

/*Footer*/
.footer {
    background-color: #34495e;
    min-height: 40px;
}

.footer-text {
    padding: 5px;    
}

Всё правильно у вас. Замечаний нет. Если есть какие-то вопросы, задайте.

Поясните, в каком месте вставлять эти layout и клирфиксы… чувствую себя умственноотсталым?
В чем разница между clearfix и layout-positioner?
Почему нельзя просто div’ами расставить все эти блоки и обычным строчным/блочным… дисплеем? Для чего это все настолько усложнено? Я понимаю, что в этом скрыта вселенская логика, но где прочитать или наглядно посмотреть?

Посмотрите здесь: [27/32] 100%. Прошу посмотреть код и указать на минусы и их последствия при верстке.
Можно решить задание и с помощью блочно-строчных элементов, но там тоже есть свои проблемы (пробелы между ними).
По условиям задания вы отрабатываете приемы построения сеток на флоатах.
Оно сложное, но очень важное. Не торопитесь понять побыстрее и двигаться дальше.

1 лайк