2
respostas

A caixa do meio está menor que as outras duas

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Produtos - Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="produtos.css">
    </head>

    <body>
        <header>
            <div class="caixa">
                <h1> <img src="logo.png"></h1>
                <nav>
                    <ul>
                        <li><a href="index.html"> Home</a></li>
                        <li><a href="produtos.html"> Produtos</a></li>
                        <li><a href="contatos.html">Contatos</a></li>
                    </ul>
                </nav>
            </div>
        </header>

        <main>
            <ul class="produtos">
                <li>
                    <h2>Cabelo</h2>
                    <img src="cabelo.jpg">
                    <p class="produto-descricao">Na tesoura ou na máquina, como o cliente preferir</p>
                    <p class="produto-preco">R$ 25,00</p>
                </li>
                <li>
                    <h2>Barba</h2>
                    <img src="barba.jpg">
                    <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="cabelo+barba.jpg">
                    <p class="produto-descricao">Pacote completo de cabelo e barba</p>
                    <p class="produto-preco">R$ 35,00</p>
                </li>
            </ul>            
        </main>
    </body>
</html> 
header {
    background: #BBBBBB;
    padding: 20px 0;

}

.caixa {
    position: relative;
    width: 940px;
    margin: 0 auto;
}

nav {
    position: absolute;
    top: 110px;
    right: 0px;
}

nav li {
    display: inline;
    margin: 0 0 0 15px;
}

nav a {
    text-transform: uppercase;
    color: #000000;
    font-weight: bold;
    font-size: 22px;
    text-decoration: none;
}

.produtos {
    width: 940px;
    margin: 0 auto;
    padding: 50px 0;
}

.produtos li {
    display: inline-block;
    text-align: center;
    width: 30%;
    vertical-align: top;
    margin: 0 1.0%;
    padding: 30px 20px;
    box-sizing: border-box;
    border: 2px solid #000000;
    border-radius: 10px;
}

.produtos h2 {
    font-size: 30px;
    font-weight: bold;
}

.produto-descricao {
    font-size: 18px;
}

.produto-preco {
    font-size: 30px;
    font-weight: bold;
    margin-top: 10px;
}
2 respostas

Oi Matheus.

Tudo bem ?

Bom eu testei aqui e aparentemente esta tudo certo com o seu código.

No entanto vou postar o códigos para que você possa comparar.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Produtos - Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="produtos.css">
    </head>

    <body>
        <header>
            <div class="caixa">
                <h1> <img src="logo.png"></h1>
                <nav>
                    <ul>
                        <li><a href="index.html"> Home</a></li>
                        <li><a href="produtos.html"> Produtos</a></li>
                        <li><a href="contatos.html">Contatos</a></li>
                    </ul>
                </nav>
            </div>
        </header>

        <main>
            <ul class="produtos">
                <li>
                    <h2>Cabelo</h2>
                    <img src="cabelo.jpg">
                    <p class="produto-descricao">Na tesoura ou na máquina, como o cliente preferir</p>
                    <p class="produto-preco">R$ 25,00</p>
                </li>
                <li>
                    <h2>Barba</h2>
                    <img src="barba.jpg">
                    <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="cabelo+barba.jpg">
                    <p class="produto-descricao">Pacote completo de cabelo e barba</p>
                    <p class="produto-preco">R$ 35,00</p>
                </li>
            </ul>            
        </main>
    </body>
</html> 
header {
    background: #BBBBBB;
    padding: 20px 0;

}

.caixa {
    position: relative;
    width: 940px;
    margin: 0 auto;
}

nav {
    position: absolute;
    top: 110px;
    right: 0px;
}

nav li {
    display: inline;
    margin: 0 0 0 15px;
}

nav a {
    text-transform: uppercase;
    color: #000000;
    font-weight: bold;
    font-size: 22px;
    text-decoration: none;
}

.produtos {
    width: 940px;
    margin: 0 auto;
    padding: 50px 0;
}

.produtos li {
    display: inline-block;
    text-align: center;
    width: 30%;
    vertical-align: top;
    margin: 0 1.0%;
    padding: 30px 20px;
    box-sizing: border-box;
    border: 2px solid #000000;
    border-radius: 10px;
}

.produtos h2 {
    font-size: 30px;
    font-weight: bold;
}

.produto-descricao {
    font-size: 18px;
}

.produto-preco {
    font-size: 30px;
    font-weight: bold;
    margin-top: 10px;
}

Espero ter ajudado.

Olá, Matheus!

Eu testei o seu código no Google Chrome e as três caixas ficaram iguais. No entanto, ao testar no Firefox as três ficaram com a mesma largura mas com alturas diferentes. Você pode ver isso inspecionando cada elemento da página nos dois navegadores, teclando Ctrl + Shift + C e passando o mouse sobre o elemento que você quer ver as propriedades.

Meu palpite em relação à essa diferença: nós definimos uma largura para as caixas mas não definimos para a altura, sendo assim, a medida que adicionamos elementos dentro das caixas, a altura da caixa vai se ajustando ao conteúdo dentro dela.

Bom, mas se é o mesmo código, por que aparece diferente nos dois navegadores? Por que não definimos uma fonte única no nosso projeto, o navegador vai renderizar a página utilizando a fonte padrão do próprio navegador, no caso do Google Chrome é o "Times New Roman", que aplicada aos nossos elementos de texto, faz com que todos tenham a mesma altura, e assim as três caixam fiquem com alturas iguais. Já no caso do Mozilla, um elemento de texto que estava em uma única linha acaba "vazando" para a próxima, alterando a altura do elemento e consequentemente da caixa toda, uma vez que o Mozilla está utilizando uma fonte diferente.

Penso que há 3 maneiras de resolver: Definir uma altura fixa para as três caixas, que não vai deixar os elementos de texto alinhados mas vai alinhar as caixas, como por exemplo:

.produtos li {
    display: inline-block;
    text-align: center;
    width: 30%;
    vertical-align: top;
    margin: 0 1.0%;
    padding: 30px 20px;
    box-sizing: border-box;
    border: 2px solid #000000;
    border-radius: 10px;
    height: 450px;
}

Alterar a fonte dos produtos para a "Times New Roman", já que vimos que dá certo no Google Chrome:

.produtos {
    width: 940px;
    margin: 0 auto;
    padding: 50px 0;
    font-family: "Times New Roman"
}

Alterar o tamanho dos textos nos produtos, de modo que os textos correspondentes das três caixas "caibam" na mesma quantidade de linhas.