Flexbox-将位于不同行的两个项目居中

时间:2018-10-11 07:12:55

标签: html css html5 flexbox

我正在尝试学习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>

1 个答案:

答案 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>