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

Minha border-box parece não funcionar

As caixas dos itens da lista dos produtos estão desalinhados mesmo usando a border-box

`

        <link rel="stylesheet" href="css/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="contato.html">Contatos</a></li>
                    </ul>
                </nav>
            </div>
        </header>

        <main>
            <ul class="produtos">
                <li>
                    <h2>Cabelo</h2>
                    <img src="cabelo.jpg">
                    <p class="produto-descicao">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-descicao">Corte e desenho profissional!</p>
                    <p class="produto-preco">R$ 18,00</p>
                </li>
                <li>
                    <h2>Cabelo + Barba</h2>
                    <img src="cabelo+barba.jpg">
                    <p class="produto-descicao">Pacote completo de cabelo e barba!</p>
                    <p class="produto-preco">R$ 35,00</p>
                </li>
            </ul>
        </main>

    </body>

</html>
 header {
    background: rgba(206, 174, 31, 0.918);
    padding: 20px 0;
}

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

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

nav li {
    display: inline;
    margin-left: 15px;
}

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

nav a:hover {
    color: rgb(150, 100, 7);
    text-decoration: underline;
}

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

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

.produtos li:hover {
    border-color: rgb(150, 100, 7,);
}

.produtos li:active {
    border-color: green;
}

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

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

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

}qui
5 respostas

Olá Carlos, tudo bem?

O seu box-sizing: border box está funcionando, o que está ocorrendo é que no HTML está escrito em todas as descrições dos itens da lista a class "produto-descicao" ao invés de "produto-descricao", isso fez com que a font-size no CSS não fosse aplicada, não padronizando os elementos. Além disso, o texto das suas descrições estavam diferentes do modelo da aula, fazendo com que a quantidade de texto não resulte no padrão visual esperado.

Modificando, ficará assim:

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

Espero ter ajudado, qualquer dúvida fique a vontade para perguntar. Bons estudos!

Consegui arrumar a box mas, a parte de baixo depois que eu usei o vertical-align: top; a parte de baixo ficou desalinhada.

Olá, Carlos!

Você conseguiu acrescentar as alterações que fiz? Rodei seu código com as alterações aqui e o resultado foi esse:

p-gina-prnt

Está igual ao modelo de aula e sem interferências do vertical-align: top.

Fico no aguardo :)

Mudei e agora consegui!

Mas e seu quisesse usar a outra descrição sem que fique desalinhado que nem antes?

solução!

Olá Carlos, beleza?

Caso queira saber mais sobre o assunto e utilizar a outra descrição, vou te indicar a leitura desse tópico que respondi, que explica detalhadamente como resolver esse tipo de situação, quando temos descrições com conteúdos de tamanhos diferentes, tornando as caixas desalinhadas.

https://cursos.alura.com.br/forum/topico-tamanho-dos-boxes-dos-produtos-uniforme-155651

Eu apliquei exatamente as propriedades que ensino nesse tópico no seu código, utilizando a primeira descrição que você colocou e o resultado foi esse: descricaoantigaaaa

As caixas ficam alinhadas, independente da quantidade de textos entre as descrições.

Qualquer dúvida, estou por aqui :)

Bons estudos!