【发布时间】:2020-09-01 18:23:22
【问题描述】:
我正在尝试使用 flexbox 制作导航栏。在我的代码中,我用 flex-direction:"row" 包裹了实际的导航栏,以对齐徽标和按钮。 现在我想在导航栏(应该是 100vw 宽)下有 nav-inner(米色 div),但实际上它位于导航栏旁边。 我试图在我的导航菜单 div 中将 flex-direction 更改为“列”,但汉堡按钮会从屏幕上消失。我做错了吗?
body {
margin: 0;
overflow: hidden;
}
/* defaults */
.safe-view {
display: flex;
height: 100vh;
}
.hamburger {
height: 30px;
width: 30px;
}
/**/
/* navbar */
.navbar {
position: sticky;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 30px;
width: 100vw;
font-size: 1.2em;
height: 100px;
}
.nav-menu {
width: 100%;
display: flex;
flex-direction:row;
/*flex-direction:column;*/
position: absolute;
height: 100%;
overflow: hidden;
background-color: white;
}
.nav-inner {
height: 100%;
width: 100%;
background-color: blanchedalmond;
}
/**/
<div class="safe-view">
<div class="nav-menu">
<div class="navbar">
<h1>logo</h1>
<button class="hamburger"></button>
</div>
<div class="nav-inner"></div>
</div>
</div>
【问题讨论】: