Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Box desalinhado

olá.. segue print dos meu box de produtos. Repare que o ultimo box tem o texto da descrição menor e isso impactou na altura do elemento. Para corrigir seria apenas definindo uma altura fixa para os boxes de produtos? link do print: https://ibb.co/sg8TxBZ

html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Produtos - Barbearia Alura</title>
    <link rel="stylesheet" type="text/css" href="reset.css">
    <link rel="stylesheet" type="text/css" 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="contato.html">Contato</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 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 profissionalde barba</p>
                    <p class="produto-preco">18,00</p>
                </li>
                <li>
                    <h2>Cabelo + Barba</h2>
                    <img src="cabelo+barba.jpg">
                    <p class="produto-descricao">Pacote completo cabelo e barba</p>
                    <p class="produto-preco">R$ 35,00</p>
                </li>
            </ul>


    </main>

</body>
</html>

CSS:

header{
    background-color: #BBBBBB;
    padding: 20px 0;
}
nav {
    position: absolute;
    top: 110px;
    right: 0
}

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;
}

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

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

}

.produtos li {
    width: 30%;
    margin: 0 1.5%;
    padding: 30px 20px;
    box-sizing: border-box;
    vertical-align: top;
    text-align: center;
    display: inline-block;
    background-color: #BBBBBB;

}

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

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

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

Rafael, boa tarde!

Perceba qual a principal diferença entre os boxs? A única diferença entre eles é a quantidade linhas que o nome do produto tem, visto isso para aumentar a caixa você precisa deixar as caixas títulos com o mesmo números de linhas.

Você pode fazer isso aumentando a fonte do titulo:

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

E ir aumentando para 20px ou 21 caso necessário

Espero ter ajudado e bons estudos!

Entendi sua colocação, amigo, porém acho uma solução não muito adequada fazer o meu texto e o seu font-size corrigir algo que é referente ao layout. Acredito que texto irão variar muito e nem sempre será possível fazer esse tipo de ajuste em casos reais.

Não consigo ver outra solução a não ser definir uma altura fixa para os boxes. Tem mais alguma sugestão?

solução!

Rafael, boa tarde!

Definir uma altura para os boxs parece ser umá ótima solução. Fora isso, minha recomendação seria alterar o tamanho da fonte mesmo, mas sinta-se a vontade de usar o método que lhe funcionar melhor

Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software