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

display: inline-block; não aconteceu nada!

Boa Tarde amigos, procurei em todo o forum se alguém ja tinha solucionado o meu problema antes, mas parece que não.

Fiz o código exatamente como o professor fez no curso, porém, após digitar o: .produtos li { display: inline-block; } nada aconteceu. mesmo atualizando a pagina, as imagens continuam uma embaixo da outra. vocês poderiam me dizer onde está o erro? estou faz 2 dias tentando descobrir, mas não tem jeito.. tive que apelar pro forum :/

produtos html

    <link rel="stylesheet" href="produtos.css">
    <link rel="stylesheet" href="reset.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>Na tesoura ou maquina, como o cliente preferir</p>
                <p>R$ 25,00</p>
            </li>
            <li>
                <h2>Barba</h2>
                <img src="barba.jpg">
                <p>Corte e desenho profissional de barba</p>
                <p>R$ 18,00</p>
            </li>
            <li>
                <h2>Cabelo + Barba</h2>
                <img src="cabelo+barba.jpg">
                <p>Pacote completo de cabelo e barba</p>
                <p>R$ 35,00</p>
            </li>
        </ul>
    </main>
</body>

produtos.css

header { background: #BBBBBB; padding: 20px 0; }

.caixa { position: relative; width: 940px; max-width: 100%; margin: 0 auto; }

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

.produtos li { display: inline-block; }

8 respostas

Oi Chrystian,

Pelo que vi no seu produtos.css, faltou definir a largura do .produtos, pois como o .produtos li está definido como display: inline-block;, eles precisam de espaço para ficarem lado a lado. Tente isso:

.produtos {
    width: 940px;
}

não funcionou. continuou um embaixo do outro (deixando os dois códigos), e mesmo deletando o .produtos li, não mudou nada colocar somente o .produtos { width: 940px; }. De nenhuma das duas formas funcionou, alguém pode me ajudar? não tenho como prosseguir com o curso sem isso funcionar. (fiz tudo exatamente igual como o professor disse, isso não faz sentido :(

produtos.css

header { background: #BBBBBB; padding: 20px 0; }

.caixa { position: relative; width: 940px; max-width: 100%; margin: 0 auto; }

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

.produtos li { display: inline-block; }

vejam.. sério gente, está tudo igual. produtos.html

    <link rel="stylesheet" href="produtos.css">
    <link rel="stylesheet" href="reset.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>Na tesoura ou maquina, como o cliente preferir</p>
                <p>R$ 25,00</p>
            </li>
            <li>
                <h2>Barba</h2>
                <img src="barba.jpg">
                <p>Corte e desenho profissional de barba</p>
                <p>R$ 18,00</p>
            </li>
            <li>
                <h2>Cabelo + Barba</h2>
                <img src="cabelo+barba.jpg">
                <p>Pacote completo de cabelo e barba</p>
                <p>R$ 35,00</p>
            </li>
        </ul>
    </main>
</body>

a página fica sempre assim, não importa o que eu faça, mesmo colocado o inline-block. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Hmmmmm, eu acho que seu reset.css está sobrescrevendo o produtos.css, tente inverter e fazer um novo teste assim:

<link rel="stylesheet" href="reset.css">
<link rel="stylesheet" href="produtos.css">

não funcionou também.... sério gente, ja estou ficando deprimido, esse curso foi caro e estou travado nessa parte, sem conseguir avançar... não tenho como prosseguir com o curso sem passar dessa parte o que pode estar acontecendo? ja até limpei os dados do google chrome, varios dias perdidos de estudo.. vocês não teriam um whatsapp ou telegram pra passar pra me ajudar? bom.. sigo aguardando uma solução..

solução!

Chrystian fica tranquilo , é assim msm também comecei agora , vai aos poucos. Sobre sua questão eu andei olhando , vi que antes de declarar o inline-block , precisa declarar a width , margin e padding da class .produtos, e depois fazer a declaração dos .produtos li. faz o teste assim.

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

Exatamente Chrystian, fica tranquilo, é só ir aos poucos, da mesma maneira que o Pedro comentou.

Criei um jsfiddle pra você testar e a gente acompanhar o seu código, daí fica mais fácil ajudar. Segue o link: https://jsfiddle.net/marcosnakamine/wux4h96n/6/

Se você nunca usou o jsfiddle, é basicamente um editor online pra compartilhar códigos, daí é só logar com sua conta do Google e editar.