Как правильно установить фон блока div?
У меня есть html-код, который я обернул в один блок <div class="container">. Я хотел сделать так, чтобы всё было серым, кроме самого блока container. Вот только его цвет выводится на экран очень странно, постоянно "отставая" от содержимого. Как это исправить? Вот сам код:
body {
margin: 0;
padding-top: 10px;
background-color: #F3F3F3;
}
.container {
width: 1000px;
height: 100%;
margin: 0 auto;
background-color: #fff;
padding: 20px 10px 20px 10px;
}
header {
height: 75px;
border-bottom: 2px solid #000;
}
h2 {
margin-top: 0;
}
a {
text-decoration: none;
color: #000;
}
.child {
display: inline-block;
}
#links {
float: right;
margin-top: 3px;
}
#admin {
position: relative;
float: right;
margin-top: 25px;
margin-right: -190px;
}
main {
height: 300px;
padding-top: 3px;
}
aside {
float: left;
width: 100px;
font-size: 20px;
border-right: 2px solid black;
margin-right: 20px;
border-bottom: 2px solid black;
padding-left: 5px;
padding-top: 5px;
margin-top: -3px;
}
aside a {
display: block;
margin-bottom: 15px;
}
<div class="container">
<header>
<div class="child">
<h2>Ваше название</h2>
</div>
<div id="links" class="child"><a href="#">Администраторы</a> | <a href="#">Выход</a></div>
<div id="admin">
<p>Вы - <a href=#>Администратор</a></p>
</div>
</header>
<main>
<aside>
<a href="orders.php">Заказы</a>
<a href="#">Товары</a>
<a href="#">Отзывы</a>
<a href="#">Категории</a>
<a href="#">Клиенты</a>
<a href="#">Новости</a>
<a href="#">Сайт</a>
</aside>
</main>
</div>
P.S.: заранее спасибо за помощь! Я новичок во фронтенде,так что очень надеюсь, что мой вопрос не слишком глупый.
Ответы (1 шт):
2 момента с ошибками:
• Контент, как Вы выражаетесь "не успевает", потому что вы жестко указали высоту в 300px. Если нужно задавать минимальную — используйте min-width.
• Не используйте float, они устарели. Современный подход в построении сетки — FlexBox (flex и всё что с этим связано). В Вашем примере контент будет обтекать aside (как только aside кончается, контент смещается влево).
body {
margin: 0;
padding-top: 10px;
background-color: #F3F3F3;
}
.container {
width: 1000px;
height: 100%;
margin: 0 auto;
background-color: #fff;
padding: 20px 10px 20px 10px;
}
header {
height: 75px;
border-bottom: 2px solid #000;
}
h2 {
margin-top: 0;
}
a {
text-decoration: none;
color: #000;
}
.child {
display: inline-block;
}
#links {
float: right;
margin-top: 3px;
}
#admin {
position: relative;
float: right;
margin-top: 25px;
margin-right: -190px;
}
main {
/* Не ограничивайте принудительно высоту */
/* height: 300px; */
/* Если надо задать минимальную, используйте min-width */
min-width: 300px;
padding-top: 3px;
/* Используйте flex */
display: flex;
}
aside {
/* Не используйте float */
/* float: left; */
width: 100px;
font-size: 20px;
border-right: 2px solid black;
margin-right: 20px;
border-bottom: 2px solid black;
padding-left: 5px;
padding-top: 5px;
margin-top: -3px;
}
aside a {
display: block;
margin-bottom: 15px;
}
<div class="container">
<header>
<div class="child">
<h2>Ваше название</h2>
</div>
<div id="links" class="child"><a href="#">Администраторы</a> | <a href="#">Выход</a></div>
<div id="admin">
<p>Вы - <a href=#>Администратор</a></p>
</div>
</header>
<main>
<aside>
<a href="orders.php">Заказы</a>
<a href="#">Товары</a>
<a href="#">Отзывы</a>
<a href="#">Категории</a>
<a href="#">Клиенты</a>
<a href="#">Новости</a>
<a href="#">Сайт</a>
</aside>
<div class="content">
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
<div>Text</div>
</div>
</main>
</div>