1
resposta

[Dúvida] Implementação Projeto do curso HTML 5 e CSS3

Bom dia pessoal, finalizei o segundo curso aqui da plataforma sobre HTML 5 e CSS3. Ao final do curso o professor pediu para incrementar o projeto inicial adicionano o cabeçalho que foi criado somente no segundo curso. Ao incrementar o cabeçalho tive um empecilho, não consigo deixar o menu de opções do cabeçalho alinhados, quando clico em um dos links é muito perceptível a alteração da margem e não consegui identificar onde está o problema.

<!DOCTYPE html>
<html lang = "pt-br">
    <head>
        <meta charset = "UTF-8">
        <title>Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <header>
            <div class="caixa">
                <h1><img src="logo.png"></h1>
            </div>
            <nav>
                    <ul class="menu">
                        <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>.</em></p>
        
            <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>
</html>

Esse código abaixo é o CSS:

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

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

.menu {
    width: auto;
    position: absolute;
    top: 130px;
    right: 0;
}

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

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

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

#banner {
    width: 100%;
}

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

.titulo-centralizado {
    text-align: center
}

p {
    text-align: center;
}

#missao {
    font-size: 20px
}

em strong {
    color: red;
}

.itens {
    font-style: italic;
}

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

h3 {
    font-size: 20px;
}

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

.imagembeneficios {
    width: 50%
}
1 resposta

Oi

Pelo código que você compartilhou, percebi que o problema está no posicionamento do menu de opções do cabeçalho. No CSS, você definiu a posição do menu como "absolute" e as coordenadas "top" e "right" como 130px e 0, respectivamente. Isso faz com que o menu fique fixo em relação à janela do navegador, não ao cabeçalho.

Para corrigir isso, você pode utilizar o posicionamento "relative" para o menu e ajustar as margens para alinhá-lo corretamente. Por exemplo, você pode adicionar a seguinte regra CSS:

nav {
    position: relative;
    margin-top: 20px;
    margin-right: 20px;
}

Essa regra define o posicionamento "relative" para o menu e adiciona margens superiores e direitas de 20px. Você pode ajustar esses valores de acordo com a aparência desejada.

Dessa forma, o menu de opções ficará alinhado corretamente dentro do cabeçalho. Lembre-se de sempre testar as alterações em diferentes tamanhos de tela para garantir que o layout fique responsivo.