我正在尝试使用flex-end
将导航放在底部。
我不确定是什么导致它不放在底部。我知道我可以把它置于绝对位置,试图避免这种情况。
<header>
<div class="header__logo">
<a href=""></a>
</div>
<nav>
<ul>
<li><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
<li><a href="#">four</a></li>
</ul>
</nav>
<div class="search"></div>
</header>
header {
background: deepskyblue;
display: flex;
padding: 20px 0;
.header__logo {
background: aqua;
flex: 20%;
min-height: 140px;
}
nav {
background: #111;
flex: 78%;
ul {
list-style: none;
margin: 0;
background: aquamarine;
display: flex;
justify-content: flex-end;
align-items: flex-end;
}
a {
text-decoration: none;
display: block;
padding: 1em;
color: white;
}
}
.search {
background: #fff;
flex: 12%;
}
}
答案 0 :(得分:2)
在您的代码中,您实际上并未将nav
放在align-items:flex-end
的底部。您将列表项放在ul
。
除了ul
容器没有添加高度,因此列表项不会去任何地方:
要对nav
进行底部对齐,请将其设为align-self: flex-end
,以便在较大的Flex容器中对齐。