Сетки / Испытание: строим сетку [27/32]

спасибо за подсказку, немного переделала. так будет правильней?

<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Испытание: строим сетку</title>
    <meta charset="utf-8">
	<link rel="stylesheet" href="/new2.css" type='text/css' media='all'>
</head>
<body>
    <div class="header">
        <div class="layout-positioner">
            <div class="layout-column-header">Header</div>
        </div>    
    

        <div class="menu">
            <div class="layout-positioner">   
                <div class="menu-box">Menu</div>
            </div>
        </div>
            
        <div class="layout-positioner">    
            <div class="layout-column-promo">Promo 1</div>
            <div class="layout-column-promo">Promo 2</div>
        </div>
    </div>
    
    <div class="features">
        <div class="layout-positioner">
            <div class="layout-column left">Left</div>
            <div class="layout-column main">Main</div>
            <div class="layout-column right">Right</div>
        </div>
    </div>
    
    <div class="footer">
        <div class="layout-positioner">
            <div class="footer-box">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-left: auto;
margin-right: auto;
}

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

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

.layout-column-header,
.layout-column-promo {
background-color: #c0392b;
}

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

.menu,
.features {
margin: 10px 0;
}

.layout-column-header {
min-height: 25px;
padding: 5px;
}

.menu {
min-height: 35px;
}

.layout-column-promo {
float: left;
width: 160px;
min-height: 50px;
padding: 5px;
margin-right: 10px;
margin-bottom: 10px;
}

.layout-positioner .layout-column-promo:last-child {
margin-right: 0;
}

.features .layout-column {
float: left;
min-height: 100px;
margin-right: 10px;
padding: 5px;
}

.left, .right {
width: 60px;

}

.main {
width: 180px;

}

.features .right {
margin-right: 0;
}

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

.menu-box,
.footer-box {
padding: 5px;
}

1 лайк

Конечно лучше) Очень хорошо сделано.

А гляньте, пожалуйста, и мой код. Выполнен на 100%, но может есть какие-то недочёты другого характера.

  <html lang="ru">
<head>
    <title>Испытание: строим сетку</title>
    <meta charset="utf-8">
</head>
<body>
    <div class="upper-content">
        <div class="layout-positioner">
            <div class="header">Header</div>
        </div>
        <div class="menu">
                <div class="layout-positioner">
                    <div class="menu-inner">Menu</div>
                </div>
        </div>
        <div class="layout-positioner">
            <div class="upper-content-column upper-content-column1">Promo 1
            </div>
            <div class="upper-content-column upper-content-column2">Promo 2
            </div>
        </div>
    </div>
    <div class="layout-positioner">
        <div class="content content-left">Left</div>
        <div class="content content-main">Main</div>
        <div class="content content-right">Right</div>
    </div>
    <div class="footer">
        <div class="layout-positioner">
            <div class="inner-footer">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-left: auto;
margin-right: auto;
}

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

.upper-content {
background: #34495e;
border-top: 1px solid #34495e;
}

.header {
background: #c0392b;
height: 25px;
margin-top: 9px;
padding: 5px;
margin-bottom: 10px;
}

.menu {
background: #3498DB;
height: 35px;
margin-bottom: 10px;
}

.menu-inner {
padding: 5px;
}

.upper-content-column {
width: 160px;
background: #c0392b;
height: 50px;
margin-bottom: 10px;
padding: 5px;
}

.upper-content-column1 {
float: left;
}

.upper-content-column2 {
float: right;
}

.content {
background: #3498DB;
height: 100px;
padding: 5px;
margin-top: 10px;
margin-bottom: 10px;
}

.content-left {
float: left;
width: 60px;
margin-right: 10px;
}

.content-main {
float: left;
width: 180px;
}

.content-right {
float: right;
width: 60px;

}

.footer {
background: #34495e;
height: 40px;
}

.inner-footer {
padding: 5px;
}

Названия классов в блоке с promo излишне длинные и вместо height лучше писать min-height.

ну это легко исправить :] а в остальном сойдёт?

В остальном очень хорошо.

1 лайк

Подскажите, пожалуйста. В каком-то разделе про флоты говорилось, что при зафлочивание одного объекта к лефой стороне, а другого в кпавой, третий блок автоматически занимает место между ними. А у автора левый и центральный блок зафлочены к левой стороне.

Или я не так понял тему?

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


В курсах применяли способ отступа для всех трех блоков от правой части, а потом марджить на ноль самый правый блок. Я же просто задал мерджин центральному блоку. Насколько это правильно или неправильно.

И еще вопрос. Как синтаксис правильнее и читабельнее в CSS
padding:10px;
или
padding: 10px;
Вопрос касаемо пропуска после свойства.

Не помню, чтобы такое вообще было.[quote=“Terrible, post:30, topic:2994”]
В курсах применяли способ отступа для всех трех блоков от правой части, а потом марджить на ноль самый правый блок. Я же просто задал мерджин центральному блоку.
[/quote]

Так лучше не делать, если вы предполагаете, что отступы между блоками должны быть одинаковыми. В данном случае совпало, а на сетке большей ширины может и не совпадать, и отступ между центральным и правым блоком окажется больше.[quote=“Terrible, post:30, topic:2994”]
padding: 10px;
[/quote]

Синтаксис с пробелом лучше.

2 лайка

спасибо

Подскажите, пожалуйста, как передвинуть тексты в “Сетки / Испытание: строим сетку”
Сделал на 98%, но передвинуть слова “Меню” и “Футер” не знаю как:(
Буду очень благодарен за доп. замечания по коду.

<head>
    <title>Испытание: строим сетку</title>
    <meta charset="utf-8">
</head>
<body>
    <div class="block1">
      <div class="header"> Header </div>
    </div>
    
    <div class="menu" > Menu </div>
    
    <div class="block1">
      <div class="promo1" > Promo 1 </div>
      <div class="promo2" > Promo 2 </div>
      <div class="layout" ></div>
    </div>
    
    <div class="content" >
      <div class="left" >Left</div>
      <div class="main" >Main</div>
    <div class="right" >Right</div>
    
    </div>
      <div class="layout2" >
      <div class="footer" > Footer</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{
clear:both;
}

.block1{
background:#34495e;
padding:10px 50px 10px 50px ;
}
.header{
background: #c0392b;
height: 25px;
padding: 5px;
}
.menu {
background: #3498DB;
height: 35px;

}

.promo1, .promo2{
background: #c0392b;
float: left;
height: 50px;
width: 160px;
padding: 5px;

}
.promo2 {
margin-left: 10px;
}

.left, .right, .main {
background: #3498DB;
float: left;
height: 100px;
padding: 5px;
}
.left, .right{
width: 60px;
margin-left:10px;
}

.main {
margin-left:10px;
width: 180px;
margin-bottom: 10px;
}
.content{

padding: 10px 10px 0px 40px;

}
.layout2{

}

.footer {
height: 35px;
background: #34495e;
clear: both;

}

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

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