27/32

Приветствую. Можете мне объяснить пожалуйста, почему если я указываю паддинг 0 у хедера, то, когда я прописываю у .топ маргин-топ, то отступ появляется у хедер, а не у топ. Но когда я прописываю паддинг хотя бы 1 рх, маргин появляется уже у .топ.

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

}

.top {
width: 80.3%;
height: 30px;
padding: 5px 0px 0px 5px;
margin-bottom: 10px;
margin-right: auto;
margin-left: auto;
background-color: #c0392b;
}

Курс “Блочная модель документа” - задание “Выпадание внешних отступов”.

1 лайк

Спасибо, разщобрался. ВОзник другой вопрос. Оба промо лучше выделить в отдельный блок и отцентрировать илиподобраться правильный маргин-лефт у промо1?

Конечно отцентрировать)

.promo-block {
width: 100%;
margin-right: auto;
margin-left: auto;
}

.promo1 {
float: left;
width: 37.14%;
padding: 5px 0px 0px 5px;
height: 55px;
margin-right: 10px;
background-color: #c0392b;
}

.promo2 {
float: left;
padding: 5px 0px 0px 5px;
width: 37.14%;
height: 55px;
background-color: #c0392b;
}

Просто отказывается центрировать, промо1 и промо2 вложены в промо-блок. Так жепробовал делать меньше процентов, тогда он перемещается, но криво.

Я кажется понял, когда я указываю ширину в процентах, она расчитывается от родительского блока?

Это задание в принципе возможно сделать на процентах?

Уже попробовал делать через пиксели. Делаю размер блока точно такой же, как в Хеадер(который отцентрован), но промо-блок ставится криво.

С этим разобрался. Хотя не совсем понимаю как, но теперь понимаю как надо делать.

Я все сделал, оцените чистоту, пожалуйста.

HTML

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

CSS

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

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

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

}

.top {
width: 345px;
height: 30px;
margin-right: auto;
margin-left: auto;
padding: 5px 0px 0px 5px;
background-color: #c0392b;
}

.menu {
width: 87.8%;
height: 30px;
margin: 10px 0px 10px 0px;
padding: 5px 0px 0px 55px;
background-color: #3498DB;
}

.promo1 {
float: left;
width: 165px;
height: 55px;
margin-right: 10px;
padding: 5px 0px 0px 5px;
background-color: #c0392b;
}

.promo2 {
float: left;
height: 55px;
width: 165px;
padding: 5px 0px 0px 5px;
background-color: #c0392b;
}

.middle{
margin: 10px 0px 10px 0px;
}

.column {
float: left;
margin-right: 10px;
padding: 5px 0px 0px 5px;
background-color: #3498DB;
}

.left {
height: 105px;
width: 65px;
}

.main {
width: 185px;
height: 105px;
}

.right {
width: 65px;
height: 105px;
margin-right: 0px;
}

footer {
height: 30px;
margin-top: 10px;
padding: 5px 0px 0px 55px;
background-color: #34495e;
clear: both;
}

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

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

Меню и футер не отцентрованы, из-за чего прописан отступ слева 55px.
Почему-то не сработала распорка в блоке с тремя колонками, из-за чего для футера дополнительно прописано clear: both;
Фиксированные высоты лучше заменить на min-height.
Варианта кода с процентами я здесь не видела. Если хотите - поэкспериментируйте. А если нет - то проценты у меню оставлять нет смысла.

Забыл удалить clear, с процентами невозможно, или невероятно сложно, часа полтора бытался отцентровать все в блоке футер, постоянно съезжает на расстояние меньше пикселя.

Спасибо за ответ.