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

nao consigo colocar o nav em linha com o logo e a busca

tentei de varias formas mas nao estou conseguindo.

css

header .container{
    width: 100vw;
    height: 10vh;
    display: inline-block;
}

.logo, .barra-nav, .busca, li, a{
    display: inline-block;

}
.barra-nav li{
    height: 45px;
    margin-left: 1em; 
    margin-right: 1em;
    font-size: 2em;
    float: left;
}
.busca{
    font-size: 2em;
    float: left;
}

.destaques{
    width: 100vw;
}
.secao{
    width: 30vw;
    position: relative;
    float: left;
    margin: 1vw; 
}

html = exercício

<!doctype html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Notícias.com</title>

    <link rel="stylesheet" href="css/estilo.css">
    <link rel="stylesheet" href="css/exercicios.css">
</head>
<body>

    <header>
        <div class="container">

            <h1 class="logo">
                <img src="img/logo.png" alt="Notícias.com">
            </h1>

            <nav class="barra-nav">
                <ul class="menu-principal">
                    <li><a href="noticias.html" class="noticias">Notícias</a>
                    <li><a href="esportes.html" class="esportes">Esportes</a>
                    <li><a href="famosos.html" class="famosos">Famosos</a>
                </ul>

                <form class="busca">
                    <input type="search" id="campo-busca">
                    <button type="submit">Buscar</button>
                </form>
            </nav>
        </div>
    </header>

    <main class="destaques container">

        <div class="secao">

            <a href="noticia1.html" class="chamada noticias principal">
                <h2>Descoberto mais um esquema de espionagem da NSA</h2>
            </a>
            <a href="noticia2.html" class="chamada noticias normal">
                <h2>Deputado é pego em vídeo pedindo propina</h2>
            </a>
            <a href="noticia3.html" class="chamada noticias normal">
                <h2>Acidente na BR-42 mata 12 da mesma família</h2>
            </a>
            <a href="noticia4.html" class="chamada noticias normal mini">
                <h2>NASA acha indícios de vida em Marte</h2>
            </a>
            <a href="noticia5.html" class="chamada noticias normal mini">
                <h2>Recorde de vendas do Xbox One</h2>
            </a>
            <!--<a href="noticia14.html" class="chamada noticias normal">
                <h2>BC anuncia nova alta nos juros</h2>
            </a>-->
            <a href="noticia11.html" class="chamada famosos normal">
                <img src="img/entretenimento1.jpg" alt="Atriz na praia">
                <h2>Atriz da Globo passeia com filho em Copacabana</h2>
            </a>
            <a href="noticia6.html" class="chamada esportes normal">
                <h2>Estádios das Olimpíadas estão atrasados</h2>
            </a>
        </div>

        <div class="secao">
            <a href="noticia7.html" class="chamada esportes normal mini">
                <img src="img/esporte1.jpg" alt="Time perdedor">
                <h2>Time perdedor é rebaixado para Série B</h2>
            </a>
            <a href="noticia8.html" class="chamada esportes normal mini">
                <img src="img/esporte2.jpg" alt="Time vencedor">
                <h2>Time vencedor sobe para Série A da Copa</h2>
            </a>
            <a href="noticia9.html" class="chamada esportes normal">
                <h2>Transferência milionária de craque para a Europa</h2>
            </a>
            <a href="noticia10.html" class="chamada famosos normal">
                <h2>BBB: brothers vão pra piscina</h2>
            </a>
            <a href="noticia12.html" class="chamada famosos normal">
                <h2>Subcelebridade faz algo estúpido para aparecer</h2>
            </a>
            <a href="noticia16.html" class="chamada famosos">
                <h2>Casal de famosos se separa</h2>
            </a>
            <a href="noticia13.html" class="chamada famosos normal">
                <h2>Novela tem cena decisiva nessa sexta-feira</h2>
            </a>
            <a href="noticia15.html" class="chamada esportes">
                <h2>Jogador é flagrado em festança promíscua</h2>
            </a>

        </div>

        <div class="secao">
            <a href="video.html" class="tv chamada normal famosos">
                <img src="img/tv1.jpg" alt="Roupão">

                <p>BBB</p>
                <h2>Jeílson usa roupão de bolinhas verdes e é consolado</h2>

                <span class="bolinha"></span>
                <span class="bolinha"></span>
                <span class="bolinha"></span>
            </a>
        </div>

    </main>

    <script src="js/menu.js"></script>
</body>
</html>
5 respostas

Fala aí Kaique, tudo bem? O problema está no seu .menu-principal, falta deixá-lo em inline pois por padrão a tag ul possuí display como block:

.menu-principal {
    display: inline-block;
}

Feito isso, o mesmo já irá ficar alinhado com título e busca.

Espero ter ajudado.

Oi kaique tudo o que é block ocupa a tela inteira, se você perceber a div do container é block ,h1 é block, o ul é block e o li tmb é block. Primeiramente no html eu não colocaria o h1 pra colocar uma imagem preserve o proposito das tags, você pode adicionar a classe logo direto na tag img, além disso o formulario de busca está dentro da barra de navegação. Fazendo os ajustes ficaria assim:

<header>
    <div class="container">
      <img class="logo" src="img/logo.png" alt="Notícias.com">
      <nav class="barra-nav">
        <ul class="menu-principal">
          <li><a href="noticias.html" class="noticias">Notícias</a>
          <li><a href="esportes.html" class="esportes">Esportes</a>
          <li><a href="famosos.html" class="famosos">Famosos</a>
        </ul>
      </nav>
      <form class="busca">
        <input type="search" id="campo-busca">
        <button type="submit">Buscar</button>
      </form>
    </div>
  </header>

No css, você precisa colocar todo mundo que é block como inline block além de retirar o float left que você havia colocado previamente ficando assim:

header{
    width: 100vw;
    height: 10vh;
}

.logo, .barra-nav, .menu-principal li, .busca{
    display: inline-block;
}

.barra-nav li{
    height: 45px;
    margin-left: 1em;
    margin-right: 1em;
    font-size: 2em;
}
.busca{
    font-size: 2em;
}

.destaques{
    width: 100vw;
}
.secao{
    width: 30vw;
    position: relative;
    float: left;
    margin: 1vw;
}

Espero ter ajudado e bons estudos.

Consegui arrumar mas achei uma coisa muito estranha, aplicando o css como vc colocou Maison, a barra-nav ficou deslocada 1em abaixo da busca e do logo. pra arrumar tive que usar um translate:

header .container{
    width: 100vw;
    height: 10vh;
}

.logo, .barra-nav, .menu-principal li, .busca{
    display: inline-block;
    padding: .2em;
    margin-left: 1.8vw;

}

.barra-nav li{
    margin-left: 1em;
    margin-right: 1em;
    font-size: 1.5em;
}
.barra-nav{
    height: 10vh;
    margin-top: 0;
    transform: translateY(-1em);
}
.busca{
    font-size: 1.5em;
}

.destaques{
    width: 100vw;
}
.secao{
    width: 30vw;
    position: relative;
    float: left;
    margin: 1vw;
    margin-left: 1.8vw;
}

o que deu errado dessa vez? tem outro jeito de resolver sem ter que recorer a tranlate?

solução!

Oi kaique verifique se não existe uma outra regra no seu arquivo exercicios.css sobrescrevento a do nav, porque essa diferenca não existe para mim se eu colocar translate aí sim tenho uma diferença copiou certinhos minhas regras porque eu achei algumas diferenças.

HTML

<!doctype html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Notícias.com</title>

    <link rel="stylesheet" href="css/estilo.css">
</head>
<body>

    <header>
    <div class="container">
      <img class="logo" src="img/logo.png" alt="Notícias.com">
      <nav class="barra-nav">
        <ul class="menu-principal">
          <li><a href="noticias.html" class="noticias">Notícias</a>
          <li><a href="esportes.html" class="esportes">Esportes</a>
          <li><a href="famosos.html" class="famosos">Famosos</a>
        </ul>
      </nav>
      <form class="busca">
        <input type="search" id="campo-busca">
        <button type="submit">Buscar</button>
      </form>
    </div>
  </header>

css

header{
    width: 100vw;
    height: 10vh;
}

.logo, .barra-nav, .menu-principal li, .busca{
    display: inline-block;
}

.barra-nav li{
    height: 45px;
    margin-left: 1em;
    margin-right: 1em;
    font-size: 2em;
}
.busca{
    font-size: 2em;
}

.destaques{
    width: 100vw;
}
.secao{
    width: 30vw;
    position: relative;
    float: left;
    margin: 1vw;
}

Espero ter ajudado e bons estudos.

realmente deu certo agora, valeu