Прошел на 100%, но по ощущениям, я много лишних div’ов понаписал. Так же и CSS у меня огромный получился.
Подскажите, как можно код оптимизировать?
И если есть пример “идеального” кода этого испытания, скиньте тему или свой вариант)
C div’ами всё нормально. Правда самый последний </div>
лишний.
А в CSS не всё понятно.
Зачем это правило?
.footer-top {
width: 30px;
}
Почему 40px?
.footer {
height: 40px;
background: #34495e;
}
Зачем отступы слева и справа?
.content {
padding: 10px;
}
1 лайк
HTML
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css.css">
<title>Испытание: строим сетку</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="header-wrapper">
<div class="layout-positioner">
<div class="header">Header</div>
</div>
<div class="menu-wrapper">
<div class="layout-positioner">
<div class="menu">Menu</div>
</div>
</div>
<div class="layout-positioner clearfix">
<div class="promo-1">Promo 1</div>
<div class="promo-2">Promo 2</div>
</div>
</div>
<div class="content-wrapper">
<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>
<div class="footer-wrapper">
<div class="layout-positioner">
<div class="footer">Footer</div>
</div>
</div>
</body>
</html>
CSS
html {box-sizing: border-box;}
*{box-sizing: inherit;}
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: 0 auto;
}
.clearfix::after {
display: table;
content: "";
clear: both;
}
.layout-positioner > div {
padding: 5px;
word-break: break-all;
}
.header-wrapper {
padding: 10px 0;
background: #34495e;
}
.header {
min-height: 35px;
background: #c0392b;
}
.menu-wrapper {
margin: 10px 0;
background: #3498db;
}
.promo-1,
.promo-2 {
float: left;
width: 170px;
min-height: 60px;
background: #c0392b;
}
.promo-2 {
float: right;
}
.content-wrapper {
padding: 10px 0;
}
.column {
float: left;
min-height: 110px;
background: #3498DB;
}
.left, .right {
width: 70px;
}
.main {
margin:0 10px;
width: 190px;
}
.footer-wrapper {
background: #34495e;
}
.footer, .menu {
min-height: 35px;
}
1 лайк
Забыл убрать лишне, видимо когда код переделывал или менял div’ы
На глаз поставил, показало 100% думал все правильно.
Видимо любой размер больше 35px уже засчитывается на 100%.
Понял, не обратил на это внимание.
А это CSS-правило можно прописывать всегда?
Я так понимаю оно заменяет, те классы (class="… box-sizing"), которые я везде писал.
Спасибо за ответ и за ваш пример кода, понял над чем ,примерно, работать мне и как сделать удобнее для чтения мой css.
Там размер вообще не нужен – должно растягиваться контентом.
ещё лучше так:
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
… там где border-box не нужен – пишем content-box.
1 лайк