- Unidimencional
- Colocar elementos em uma linha ou em uma coluna
Html
<header class="header">
<a href="#">Logo</a>
<nav>
<ul class="menu">
<li><a href="#">Admin</a></li>
<li><a href="#">Contato</a></li>
<li><a href="#">Sobre</a></li>
</ul>
</nav>
</header>
Zerando o layout
* {
margin: 0;
padding: 0;
list-style: none;
font-size: 1.2rem;
font-family: Arial, Helvetica, sans-serif;
text-decoration: none;
}
Dividindo o logo do menu dentro do header:
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
background-color: black;
}
Vamos estilizar o menu, e podemos utilizar o flex novamente:
.menu {
display: flex;
flex-direction: row; /** o padrão é row */
}
flex-direction
determina se os itens vão ficar em row ou column.
.menu {
display: flex;
flex-direction: row;
}
.menu > li {
margin-left: 10px;
}
.menu > li > a {
display: block;
padding: 10px;
background: tomato;
}
html
<h1> Section Flexbox</h1>
<section class="flex">
<div >
<img src="./img/lobo1.jpg">
<p>legenda</p>
</div>
<div>
<img src="./img/lobo2.jpg">
<p>legenda</p>
</div>
<div>
<img src="./img/lobo3.jpg">
<p>legenda</p>
</div>
<div>
<img src="./img/lobo1.jpg">
<p>legenda</p>
</div>
<div>
<img src="./img/lobo2.jpg">
<p>legenda</p>
</div>
<div>
<img src="./img/lobo3.jpg">
<p>legenda</p>
</div>
</section>
h1 {
text-align: center;
margin-top: 100px;
}
img {
max-width: 100%;
display: block;
}
.flex {
display: flex;
flex-wrap: wrap;
max-width: 800px;
margin: auto;
}
.flex > div {
flex: 1 1 200px;
margin: 10px;
}