Испытание: строим сетку [27/32] - Помогите пожалуйстаразобраться в недочётах

Разместил все блоки по местам. Итого 92%. Но не было паддингов вообще. Т.е. текст в блоках начинался грубо в притык к колонке вверху-слева. Начал равнять отступы внутренние. Так и не получилось добиться результата. Итого 90%. Хотя внешний вид стал лучше, а проценты только уменьшились. И также не понимаю, почему мой блок Header не отодвигался мэрджином от верхнего края контейнера, в котором находился, пока я не задал контейнеру padding-top:1px. Тогда появился отступ. И в основном приходилось пользоваться отступами в 1px. Т.к. 5px было уже перебор. Хотя и с 1-им был перебор. Никак не могу понять, в чём причина. В условии ведь написано, что все отступы кратны 5-и.
Объясните пожалуйста подробней, в чём мои ошибки. И желательно простыми словами, т.к. я ещё нуб:) В заранее благодарю!)

<!DOCTYPE html>
<html lang="ru">
    <head>
        <title>Испытание: строим сетку</title>
        <meta charset="utf-8">
    </head>
    <body>
        <div class="header-menu clearfix">
            <div class="header">
                <p>Header</p>
            </div>
            <div class="menu">
                <p>Menu</p>
            </div>
            <div class="promo1">
                <p>Promo 1</p>
            </div>
             <div class="promo2">
                <p>Promo 2</p>
            </div>
        </div>
        <div class="features">
            <div class="left">
                <p>Left</p>
            </div>
            <div class="main">
                <p>Main</p>
            </div>
            <div class="right">
                <p>Right</p>
            </div>
        </div>
        <div class="footer">
            <p>Footer</p>
        </div>
    </body>
</html>`впишите текст сюда; также, отключить форматирование текста можно, начав строку с четырех пробелов`

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

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

.header-menu{
background:#34495e;
margin-bottom:10px;
padding-bottom:10px;
padding-top:1px;
}

.header{
background:#c0392b;
width:345px;
margin:0 auto;
height:35px;
padding-left:5px;
padding-top:1px;
margin-top:10px;
margin-bottom:10px;
}

.menu{
background:#3498DB;
min-height:30px;
padding-left:55px;
padding-top:1px;
}

.promo1{
background:#c0392b;
float:left;
width:165px;
margin-left:50px;
min-height:60px;
padding-left:5px;
}

.promo2{
background:#c0392b;
float:right;
width:165px;
margin-right:50px;
min-height:60px;
padding-left:5px;
}

.features{
background:#fff;
}

.left{
background:#3498DB;
float:left;
width:65px;
min-height:110px;
margin-right:10px;
margin-left:50px;
padding-left:5px;
}

.main{
background:#3498DB;
float:left;
min-height:110px;
width:185px;
margin:0 auto;
padding-left:5px;
}

.right{
background:#3498DB;
float:right;
width:65px;
min-height:110px;
padding-left:5px;
margin-right:50px;
}

.footer{
background:#34495e;
min-height:40px;
clear:both;
margin-top:130px;
padding-left:55px;
padding-top:1px;
}

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

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

Не понимаю, почему не отображается html код ?впишите текст сюда; также, отключить форматирование текста можно, начав строку с четырех пробеловвпишите текст сюда; также, отключить форматирование текста можно, начав строку с четырех пробелов

Для вставки кода в редакторе предусмотрена кнопка, выглядит так: </>
Вставьте правильно, тогда будем разбираться.

Помогите пожалуйста. Зашёл в редактирование своего сообщения. Нажал эту кнопку. Сохранил. Но ничего не произошло.

Свой код вы вставляете между двумя знаками ’ '. Сейчас там написано “впишите текст сюда; также, отключить форматирование текста можно, начав строку с четырех пробелов”

всё, разобрался) Посмотритепожалуйста мой код. Может у вас есть какие-то советы и замечания ?

Замечаний будет много, не ждите здесь. Через часик заходите, все будет разобрано.

Хорошо, спасибо большое)

Начнем с первого вашего вопроса про внутренние отступы. Вы обернули текст внутри блоков в параграфы. У тега p есть свои отступы по умолчанию, как внутренние, так и внешние.
Большая часть проблем решается добавлением следующего правила:
p {
padding: 5px;
margin: 0;
}
Таким образом, все записи типа padding-top: 1px; и padding-left: 5px; можно убирать и код становится короче. Но надо исправить размеры у блоков, везде добавить эти 5px по ширине.
Далее ваш вопрос по поводу отступа у header. Это вы уже должны были знать, в теории было в курсе “Блочная модель документа”. Эффект называется “Выпадание” внешних отступов". Перечитайте, если подзабыли.
А теперь замечания. И первое, это использование распорок. Вы использовали распорку один раз, хотя для блока .features ее тоже нужно применить. Тогда clear:both; и некрасивый margin-top:130px; для footer не понадобится.
Почитайте еще эту тему. Обратите внимание на примененный для центровки содержимого .layout-positioner. С его помощью можно будет убрать записи padding-left:55px; и margin-left:50px;
Переделайте свой вариант с учетом всех замечаний. Потом хотелось бы снова взглянуть на него. Если будут сложности или другие вопросы, то задавайте.

Благодарю за помощь. Только сейчас дотянулся до компа) Решать и разбираться уже времени нет. Надо спать ложиться. Попробую завтра поковыряться в коде. Чуть что, за советами к вам же можно ?) Для критики)

Можно)

Всем привет!
Написал код, Обошелся только float.
Сделайте замечания по коду, конструктивную критику:grinning:.

HTML

CSS

p {
padding: 5px;
margin: 0;
}

header {
width: 350;
height: 160px;
border: 0px solid white;
padding-top: 10px;
margin-bottom: 10px;
background-color: #34495e;
}

.header1 {
width: 350px;
height: 35px;
margin: 0 auto;
background-color: #c0392b;
}

.menu {
width: 400px;
height: 35px;
margin: 10px 0 10px 0;
padding-left: 50px;
background-color: #3498DB;
}

.promo1 {
float: left;
width: 170px;
height: 60px;
margin-left: 50px;
background-color: #c0392b;
}

.promo2 {
float: right;
width: 170px;
height: 60px;
margin-right: 50px;
background-color: #c0392b;
}

.left {
float: left;
width: 70px;
height: 110px;
margin: 0 10px 0 50px;
background-color: #3498DB;
}

.main {
float: left;
width: 190px;
height: 110px;
margin-right: 10px;
background-color: #3498DB;
}

.right {
float: right;
width: 70px;
height: 110px;
margin-right: 50px;
background-color: #3498DB;
}

.block {
margin-bottom: 10px;
}

.footer {
clear: both;
width: 350;
height: 35px;
padding-left: 50px;
background-color: #34495e;
}

Первое. HTML-код оценить не могу. Не вижу(

Подправил. HTML не хочет вставляться)

В целом не очень хорошо.
Начнете заполнять свою сетку текстом и она рассыплется из-за фиксированной высоты у блоков и фиксированного отступа слева 50px.
Записи типа width: 350; не работают. Надо обязательно указывать единицу измерения. В данном случае px.
Вместо добавления каждому блоку в main класса block с указанием отступа снизу, вы могли прописать этот отступ сразу для main.

1 лайк

На счет 350 ошибся, там 400px. Да, для main, спасибо. Также фон для left, main, right записать в .block.
Если высоту у блоков указать min-height?

min-height можно писать. Что насчет .layout-positioner вместо margin-left: 50px;?

Спасибо за критику и наводку на layout. Подумаю и напишу сюда. Да, а min-height прописывать во всех блоках?

1 лайк

Для вложенных. Если неправа, то пусть кто-нибудь поправит.

Прописал для тех, которые зафлоачены.

Очень хорошо)

1 лайк