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

(Desafio Proposto) Alinhamento um abaixo do outro

Tentei resolver o desafio, porém surgiu um problema. Não está alinhando o home, produtos e contato um ao lado do outro, e sim um embaixo do outro. Segue o código:

INDEX.HTML

<head>

    <meta charset="UTF-8">
    <title>Barbearia Alura</title>
    <link rel="stylesheet" href="style.css">

</head>    

<body>

    <header>
        <h1 class="titulo-principal">Barbearia Alura</h1>
        <div class="caixa">
            <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>
    </header>

    <img id="banner" src="banner.jpg">
    <div class="principal">

        <h2 class="titulo-centralizado">Sobre a Barbearia Alura</h2>

        <p>Localizada no coração da cidade a <strong>Barbearia Alura</strong> traz para o mercado o que há de melhor para o seu cabelo e barba. Fundada em 2019, a Barbearia Alura já é destaque na cidade e conquista novos clientes a cada dia.</p>

        <p id="missao"><em>Nossa missão é: <strong>"Proporcionar auto-estima e qualidade de vida aos clientes"</strong>.</p></em>

        <p>Oferecemos profissionais experientes e antenados às mudanças no mundo da moda. O atendimento possui padrão de excelência e 
        agilidade, garantindo qualidade e satisfação dos nossos clientes.</p>

    </div>

    <div class="beneficios">
        <h3 class="titulo-centralizado">Benefícios</h3>

        <ul>
            <li class = "itens"> Atendimento aos Clientes</li>
            <li class = "itens"> Espaço diferenciado</li>
            <li class = "itens"> Localização</li>
            <li class = "itens"> Profissionais Qualificados</li>
        </ul>

        <img src="beneficios.jpg" class="imagembeneficios">
    </div>
</body>

STYLE.CSS

body{

}

header { padding: 20px 0; }

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

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

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

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

nav a:hover{ color: #C78C19; text-decoration: underline; }

#banner{ width: 100%; }

.principal{ background: #CCCCCC; padding: 30px; }

.titulo-principal{ padding-left: 20px; }

.titulo-centralizado{ text-align: center; } p { text-align: center; }

#missao{ font-size: 20px }

em strong{ color: #FF0000; }

.itens{ font-style: italic; }

.beneficios{ background: #FFFFFF; padding: 20px; }

ul { display: inline-block; vertical-align: top; width: 20%; margin-right: 15%; }

.imagembeneficios { width: 50%; }

Obrigado

3 respostas

Oi, Victor, tudo bem?

Olhando o seu código css, você dentro da classe da tag nav li, o display está como inherit sendo que para ficar em linha, utilizamos a propriedade inline.

E outro detalhe é que a caixa que envolve o elemento nav está como position: static o que na verdade deveria estar como position: relative, para que o nav que está com o position absolute ganhe contexto do browser.

Testa e me fala se deu certo!

Obrigado pelo retorno, mas o mesmo ficou com o menu ainda um abaixo do outro, só que agora dentro da imagem. Segue o código com as mudanças:

body{ }

header { padding: 20px 0; }

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

nav { position: absolute; top: 20px; 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; }

nav a:hover{ color: #C78C19; text-decoration: underline; }

#banner{ width: 100%; }

.principal{ background: #CCCCCC; padding: 30px; }

.titulo-principal{ padding-left: 20px; }

.titulo-centralizado{ text-align: center; } p { text-align: center; }

#missao{ font-size: 20px }

em strong{ color: #FF0000; }

.itens{ font-style: italic; }

.beneficios{ background: #FFFFFF; padding: 20px; }

ul { display: inline-block; vertical-align: top; width: 20%; margin-right: 15%; }

.imagembeneficios { width: 50%; }

Obrigado

solução!

Oi, Victor, tudo bem?

O trecho do código do css que testei aqui:

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

.caixa {
    position: relative;
    width: 940px;
    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;
}

nav a:hover {
    color: #C78C19;
    text-decoration: underline;
}

E o html:


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

Observei que você não importou o reset.css no head:


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

Esse foi o meu teste na página home com o código acima: https://imgur.com/a/9b5JoZS