Испытание: строим сетку [27/32] (100%) - оцените правильность написания кода


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

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

.header,
.promo1,
.promo2,
.menu,
.left,
.main,
.right,
.footer {
    box-sizing: border-box;
    padding: 5px 5px;        
}

.header,
.promo1,
.promo2 {
    background-color: #c0392b;
}

.menu,
.left,
.main,
.right {
    background-color: #3498DB;
}

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

.positioner {
    width: 350px;
    margin-left: auto;
    margin-right: auto;
}

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

.header {
    height: 35px;
}

.menu {
    height: 35px;
    margin-top: 10px;
    padding-left: 55px;
}

.promo1,
.promo2
{
    float: left;
    height: 60px;
    width: 170px;
    margin-right: 10px;
    margin-top: 10px;
}

.promo2 {
    margin-right: 0;
}

.content {
    margin-top: 10px;
}

.left,
.main,
.right {
    float: left;
    height: 110px;
    margin-right: 10px;
}

.left,
.right {
    width: 70px;
}

.main {
    width: 190px;
}

.right {
    margin-right: 0px;
}

.bottom {
    height: 35px;
    margin-top: 10px;
}

#3

#4

Добрый день, тоже хотелось бы получить ревью кода.

Испытание: строим сетку
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;
}

.header-all,
.footer {
background-color: #34495e;
}

.header,
.promo1,
.promo2 {
background-color: #c0392b;
}

.menu,
.left,
.main,
.right {
background-color: #3498DB;
}

.header-all {
padding: 10px 0;
height: 150px;
}

.header {
width: 340px;
height: 25px;
padding: 5px 5px;
margin: 0 auto;
}

.menu,
.footer {
height: 25px;
padding: 5px 55px;
margin: 10px 0;
}

.promo {
width: 350px;
margin: 0 auto;
}

.promo1 {
float: left;
width: 160px;
height: 50px;
padding: 5px 5px;
}

.promo2 {
float: right;
width: 160px;
height: 50px;
padding: 5px 5px;
}

.content {
width: 350px;
height: 120px;
margin: 0 auto;
}

.left {
float: left;
width: 60px;
height: 100px;
padding: 5px 5px;
margin: 10px 10px 10px 0;
}

.main {
float: left;
width: 180px;
height: 100px;
padding: 5px 5px;
margin: 10px 0 10px 0;
}

.right {
float: right;
width: 60px;
height: 100px;
padding: 5px 5px;
margin: 10px 0 10px 10px;
}

/*
Используемые цвета:
#34495e – мокрый асфальт
#c0392b – красный
#3498DB – синий
*/


#7

может быть так? https://jsfiddle.net/a1kyL0mo/


#8

Повторила вёрстку из предложенного варианта с описанием логики.
Мне показалось, что там заведено 3 лишних класса, которые потом нигде не используются:
promo
content
row (этот класс автор убрал сам, но не объяснил)

Соответственно, имена классов в CSS стали короче:
.promo-collum вместо .promo .promo-collum
.promo-collum:last-child вместо .promo .promo-collum:last-child
.collum/.collum:nth-child/.collum:last-child по аналогии

я это сделала, чтобы “не множить сущности”, но может быть это было ошибочно?

в целом, предложенная вёрстка мне показалась более правильной, чем моя, потому что как-то элегантнее и правильнее, хотя обе 100%

очень хотелось бы услышать ответ профессионалов)


#9

Исправьте Ваши сообщения:
вставьте код текстом, отформатируйте кнопкой </> в редакторе сообщений.
Лишние сообщения удалите…

Что касается кода…
При других размерах окна, и при заполнении контентом – будет вот так:

Сетка не вся центрируется, и не тянется.
Решение проблем здесь: Помогите разобраться. Испытание: строим сетку [27/32]


#10

спасибо!