Segue o código abaixo:
HTML
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Produtos - Barbearia Alura</title>
<link rel="stylesheet" href="assets/reset.css">
<link rel="stylesheet" href="assets/produtos.css">
</head>
<body>
<header>
<div class="caixa">
<h1><img src="img/pagina-produtos/logo.png" alt="logo"></h1>
<nav>
<ul>
<li class=""><a href="index.html">Home</a></li>
<li><a href="produtos.html">Produtos</a></li>
<li><a href="contato.html">Contato</a></li>
</ul>
</nav>
</div>
</header>
<main>
<ul class="produtos">
<li>
<h2>Cabelo</h2>
<img src="img/pagina-produtos/cabelo.jpg" alt="">
<p class="produto-descricao">Na tesoura ou máquina, como o cliente preferir</p>
<p class="produto-preco">R$ 25,00</p>
</li>
<li>
<h2>Barba</h2>
<img src="img/pagina-produtos/barba.jpg" alt="">
<p class="produto-descricao">Corte e desenho profissional de barba</p>
<p class="produto-preco">R$ 18,00</p>
</li>
<li>
<h2>Cabelo + Barba</h2>
<img src="img/pagina-produtos/cabelo+barba.jpg" alt="">
<p class="produto-descricao">Pacote completo de cabelo e barba</p>
<p class="produto-preco">R$35,00</p>
</li>
</ul>
</main>
</body>
</html>
<!--
Position Static -> ponto inicial padrão.
Position Relative -> O ponto incial contínua onde ele deveria está, porém conseguimos deslocar o elemento.
Position Absolute -> Conseguimos alterar o posicionamento inicial.
-->
CSS
header {
background-color: #CCCCCC;
padding: 20px 0;
}
.caixa{
margin: 0 auto;
position: relative; /*Coloquei o position relative para que a tela salte para frente, e a posição inicial do menu fique dentro da caixa */
width: 940px;
}
nav {
position: absolute; /*Coloquei o position absolute para alterar o ponto inicial do menu, ou seja, onde começava na esquerda e abaixo da <img>, eu coloquei ele na direita e centralizado*/
top: 110px;
right: 0;
}
nav li {
display: inline;
margin: 0 0 0 15px;
}
nav a {
text-transform: uppercase; /*Propriedade para deixar as palavras em maiúsculas*/
color: #000000;
font-weight: bold; /*Propriedade para deixar a fonta em negrito*/
font-size: 22px;
text-decoration: none;
}
nav a:hover { /*Propriedade para realizar uma interção quando o mouse estiver por cima do link */
color: #c78c19;
text-decoration: underline;
}
.produtos {
width: 940px;
margin: 0 auto; /* zero espaço da borda para fora, referente em cima e embaixo, espaço automatico para os lados, direita e esqueda*/
padding: 50px 0;
}
.produtos li:hover {
border-color: #c78c19;
}
.produtos li:active { /*Propriedade para verificar se o produto está pressionado*/
border-color: green;
}
.produtos li:hover h2 { /* O h2 será alterado quando o mouse estiver por cima do li*/
font-size: 34px;
}
.produtos li {
display: inline-block; /*Propriedade para conseguir alterar a posição do elemento e tirar a largura de 100% ocupado pelo block, porém continuando com a posição incial. Pode ser alterado , tanto na largura, quanto na altura */
text-align: center; /*propriedade para alinhar os texto no centro*/
width: 30%;
vertical-align: top; /*Propriedade para alinhar pela linha de cima */
margin: 0 1.5%;
padding: 30px 20px;
box-sizing: border-box; /*Propriedade que faz o px do espaçamento interno ficar sempre dentro da largura que declaramos, não ultrapassando a largura imposta*/
border: 2px solid black; /*espessura: 2px Estilos: solid, dashed e dotted cor: black*/
border-radius: 20px;
}
.produtos h2 {
font-size: 30px;
font-weight: bold; /*Propriedade para deixar a fonta em negrito*/
}
.produto-descricao {
font-size: 18px;
}
.produto-preco {
font-size: 22px;
font-weight: bold; /*Propriedade para deixar a fonta em negrito*/
margin-top: 10px;
}