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

Alinhamento das caixas

<!DOCTYPE html>

<html>
    <head lang="pt-Br">
        <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="imagens/logo.png"></h1>

                <nav>
                    <ul class="navegacao">
                        <li><a href="index.html">Home</a></li>
                        <li><a href="produtos.html">Produtos</a></li>
                        <li> <a href="#">Contato</a></li>
                    </ul>
                </nav>
            </div>
        </header>
        <main>
            <ul class="produtos">
                <li>
                    <h2>Cabelo</h2>
                    <img src="imagens/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>Barbearia</h2>
                    <img src="imagens/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="imagens/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>

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeMinha aplicação não alinha os elementos, segui todos os passos do video e mesmo assim quebra :(. Vi recentemente um tópico com o mesmo erro, mas pra mim não faz sentido algum, como estamos trabalhando com porcentagem a proporção dos elementos não era pra se ajustar independentemente do monitor?

4 respostas

Eai amigo, manda todo codigo css tbm pra min testar aqui e te ajudar certinho :)

Oi Ronaldo,

Dei uma olhada no seu código e o problema parece estar no seu CSS na classe ".produtos li". Você deu a cada elemento 30% do espaço disponível, como são três elementos você ocupou 90% do espaço total, de magen você deu 1,5% para a esquerda e para direita, logo 1,5% x 2 (lados) x 3 (qtde de objetos) da 9%. Com essas 2 formatações você ocupou 99% do width disponível.

Até aí tudo bem, está exatamente como o exercício, o problema está na adição do padding que além de estar em números absolutos, já não sobrou espaço para ele ocupar dentro da ul que contem a classe produtos. Tente remover do CSS esse padding e veja se o problema persiste.

E awe pessoal tudo bem? O problema está no navegador, testei aqui no firefox e no brave. No firefox quebra e no brave não. Não entendi muito bem pq o navegador realiza o calculo da porcentagem diferente de um para o outro. Vou deixar o exemplo das diferenças usando o mesmo CSS.

Aqui o exemplo do firefox:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Aqui o exemplo do brave:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E se eu adicionar o padding de 30px 20px com o box-sizing: border-box o brave ajusta perfeitamente os 20px dentro dos 30%.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

É comum no CSS existir esse tipo de incompatibilidade entre os navegadores?

solução!

Oi Ronaldo,

O problema não é o CSS em sí. Como você mesmo viu, cada navegador faz uma interpretação própria do código CSS. Provavelmente isso é decorrencia de própriedade intelectual. Para não ser considerado uma cópia do Mozilla o Brave acrescentou mudanças na sua "engine".

Por isso as empresas verificam os sites e apps nas plataforma mais populares para garantir que estes códigos trabalhem da forma esperada.

pelo seu relato o mozilla executa a sua formatação como foi descrita e o brave parece que subtrai os valores absolutos de formatação (30px e 20px) e os 30% são calculados da área que sobra. Por esta razão, no brave não a quebra e no Mozilla sim. O comum é testar os códigos nos web broswers mais usados (chrome, Mozilla, Edge e alguns outros). Não se testa em todos pois sairia muito caro ficar compilando o código para todas as plataformas.