Я учусь использовать flexbox и не могу выравнивать содержимое по вертикали внутри класса .headercontent
. кажется, что все остальное, например justify-content
, учитывается, но align-content
игнорируется. Я искал и нашел этот поток, и это, кажется, предполагает, что у родителя должна быть явно установлена высота. Я установил высоту, установив flex-basis
, flex-grow
и min-height
. Но все же div
, содержащий h1
, прилипает к вершине header
. Я хочу, чтобы этот зеленый div находился по вертикали в центре header
. что я делаю не так?
html {
box-sizing: border-box;
margin: 0;
padding: 0;
font-size: 100%;
line-height: 1.2em;
}
body {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
height: 100vh;
background-color: #cdc9c1;
}
header {
background-color: #a99879;
flex-basis: 10%;
flex-grow: 1;
min-height: 20px;
}
main {
background-color: #5b431a;
flex-basis: 80%;
flex-grow: 8;
}
footer {
background-color: #77613c;
flex-basis: 10%;
flex-grow: 1;
}
.headercontent {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
background-color: green;
min-height: 20px;
}
.navstyle {
list-style-type: none;
}
<html>
<head>
</head>
<body>
<header>
<div class="headercontent">
<h1>This is the header</h1>
</div>
</header>
<nav>
<ul>
<li>section1</li>
<li>section2</li>
<li>section3</li>
</ul>
</nav>
<main>
<p> this is the main body</p>
</main>
<footer>
<p> this is the footer </p>
</footer>
</body>
</html>
Вот кодеиновая ссылка на мою работу https://codepen.io/knows_not_much/pen/rNxXoOM