Привет, возник один вопрос. В теории говорится:
Обратите внимание еще на один подход построения сеток. Он заключается в том, что блокам разметки задаются только размеры и внешние отступы. Внутренние же отступы добавляются дополнительным элементам, вложенным в ячейки сетки.
Хотелось бы узнать какое решение будет наиболее правильным!
1 решение:
<html lang="ru">
<head>
<title>Испытание: строим сетку</title>
<meta charset="utf-8">
</head>
<body>
<div class="top">
<div class="centering">
<div class="header column-top">Header</div>
</div>
<div class="menu">
<div class="centering">Menu</div>
</div>
<div class="centering">
<div class="promo1 column-top">Promo 1</div>
<div class="promo2 column-top">Promo 2</div>
</div>
</div>
<div class="centering">
<div class="column-content side">Left</div>
<div class="column-content center">Main</div>
<div class="column-content side">Right</div>
</div>
<div class="footer">
<div class="centering">Footer</div>
</div>
</body>
</html>
html,
body {
margin: 0;
padding: 0;
}
body {
width: 450px;
height: 335px;
font-family: "Arial", sans-serif;
font-size: 10px;
color: white;
}
.centering {
width: 350px;
margin: 0 auto;
}
.centering::after {
display: table;
content: "";
clear: both;
}
.top {
background-color: #34495e;
padding-top: 10px;
}
.column-top {
background-color: #c0392b;
margin-bottom: 10px;
padding-left: 5px;
padding-top: 5px;
}
.header {
min-height: 30px;
}
.menu {
background-color: #3498DB;
min-height: 30px;
padding-top: 5px;
padding-left: 10px;
margin-bottom: 10px;
}
.promo1 {
float: left;
width: 165px;
min-height: 55px;
}
.promo2 {
float: right;
width: 165px;
min-height: 55px;
}
.column-content {
float: left;
background-color: #3498DB;
min-height: 100px;
margin-top: 10px;
margin-right: 10px;
padding: 5px;
}
.column-content:last-child {
margin-right: 0;
}
.side {
width: 60px;
}
.center {
width: 180px;
}
.footer {
background-color: #34495e;
margin-top: 10px;
padding-top: 5px;
padding-left: 10px;
min-height: 30px;
}
2 решение:
<html lang="ru">
<head>
<title>Испытание: строим сетку</title>
<meta charset="utf-8">
</head>
<title>Последняя сетка завершена</title>
<meta charset="utf-8">
</head>
<body>
<div class="top">
<div class="centering">
<div class="header column-top">Header</div>
</div>
<div class="menu layout">
<div class="centering">Menu</div>
</div>
<div class="centering">
<div class="promo promo1 column-top">Promo 1</div>
<div class="promo promo2 column-top">Promo 2</div>
</div>
</div>
<div class="centering">
<div class="column-content layout side">Left</div>
<div class="column-content layout center">Main</div>
<div class="column-content layout side">Right</div>
</div>
<div class="footer layout">
<div class="centering">Footer</div>
</div>
</body>
</html>
html,
body {
margin: 0;
padding: 0;
}
body {
width: 450px;
height: 335px;
font-family: "Arial", sans-serif;
font-size: 10px;
color: white;
}
.centering {
width: 350px;
margin: 0 auto;
}
.centering::after {
display: table;
content: "";
clear: both;
}
.top {
background-color: #34495e;
padding-top: 10px;
}
.column-top {
background-color: #c0392b;
padding-left: 5px;
padding-top: 5px;
}
.header {
min-height: 30px;
margin-bottom: 10px;
}
.menu {
background-color: #3498DB;
margin-bottom: 10px;
}
.menu.layout {
min-height: 30px;
padding-top: 5px;
padding-left: 10px;
}
.promo {
margin-bottom: 10px;
}
.promo1 {
float: left;
width: 165px;
min-height: 55px;
}
.promo2 {
float: right;
width: 165px;
min-height: 55px;
}
.column-content {
float: left;
background-color: #3498DB;
margin-top: 10px;
margin-right: 10px;
}
.column-content.layout {
min-height: 100px;
padding: 5px;
}
.column-content:last-child {
margin-right: 0;
}
.side {
width: 60px;
}
.center {
width: 180px;
}
.footer {
background-color: #34495e;
margin-top: 10px;
}
.footer.layout {
padding-top: 5px;
padding-left: 10px;
min-height: 30px;
}