我正在尝试学习Flexbox,但遇到了第一个问题。 这是我要完成的工作: 我有一个标头,我想将徽标放在第一行的中心,然后将汉堡菜单始终放在中心,但在第二行,因此在徽标的下面。
使用我的代码,汉堡菜单将自己放置在同一行的徽标旁边。
这是我的代码:
@charset "UTF-8";
body{
margin:0;
padding:0;
}
.wrapper{
width: 100%;
max-width: 1500px;
position: relative;
margin: auto;
}
.flex-container-header{
display: flex;
justify-content: center;
flex-wrap: wrap;
margin-top: 50px;
}
#flex-logo{
width: 30%;
height: 30%;
}
<!doctype html>
<html>
<head>
<meta author="Example">
<meta charset="UTF-8">
<title>Example</title>
<link href="style.css" type="text/css" rel="stylesheet"/>
</head>
<body>
<div class="wrapper">
<div id="header">
<nav>
<div class="flex-container-header">
<img src="img/logo.png" id="flex-logo" alt="Logo">
<img src="img/burger-menu.png" id="burger-menu" alt="Burger Menu">
</div>
</nav>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
要垂直对齐元素,必须使用flex-direction: column
,而不必使用flex-wrap: wrap
。这是一个示例:
.wrapper{
width: 100%;
max-width: 1500px;
position: relative;
margin: auto;
}
.flex-container-header{
display: flex;
margin-top: 50px;
flex-direction: column;
align-items: center;
}
<div class="wrapper">
<div id="header">
<nav>
<div class="flex-container-header">
<img src="img/logo.png" id="flex-logo" alt="Logo">
<img src="img/burger-menu.png" id="burger-menu" alt="Burger Menu">
</div>
</nav>
</div>
</div>