1
resposta

Inline não funciona

Estou tentando fazer o desafio final do curso de HTML e CSS parte 2 mas o inline não está deixando os elementos na mesma linha, alguem saberia dizer o motivo disso?

Abaixo o código e o site como estão.

HTML

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

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

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

        <footer>
            <img src="logo-branco.png" />
            <p class="copyright">&copy; Copyright Barbearia Alura - 2019</p>
        </footer>
    </body>
</html>

CSS

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

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

nav {
    position: absolute;
    top: 80px;
    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%;
    margin: 5px 0;
}

.principal {
    width: 940px;
    margin: 10px auto;
    background: #ecf0f1;
    padding: 30px;
    box-sizing: border-box;
    border: 5px solid #283747;
    border-radius: 10px;
}

.titulo-centralizado {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    padding-bottom: 20px;
}

p {
    font-size: 17px;
    text-align: center;
    padding: 7px;
}

#missao {
    font-size: 20px;
}

em strong {
    color: #ff0000;
    font-weight: bold;
}

.beneficios {
    width: 940px;
    background: #a2b2ad;
    padding: 20px;
    margin: 0 auto;
    box-sizing: border-box;
    border: 5px solid #000000;
    border-radius: 10px;
}

ul {
    display: inline-block;
    vertical-align: top;
    padding-top: 50px;
    width: 30%;
    margin-right: 15%;
}

.itens {
    font-size: 20px;
    font-style: italic;
    font-weight: bold;
    padding: 5px 0;
}

.imagembeneficios {
    width: 50%;
}

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

1 resposta

Oi, Rodrigo! Cara, o inline está funcionando, mas ele não aparece porque as "li" da "ul" não tem espaço suficiente para ficarem uma ao lado da outra, no seu CSS você pode adicionar a propriedade na sua ul:

ul {
    display: inline;
    vertical-align: top;
    padding-top: 50px;
    width: 100%;
    margin-right: 15%;
}

E provavelmente resolverá o problema, mas uma pequena dica é remover o position: absolute da sua nav, pois essa propriedade não serve exatamente para posicionar um menu de navegação... Fiz umas alterações e testei, você pode tentar colocar no final do seu style.css, se quiser:

/* EU ADICIONARIA ESSAS REGRAS PARA FAZER UM HEADER MENOS COMPLEXO */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  max-width: 100vw; /* O body terá uma largura máxima de 100vw, ou seja 100 "viewport-width" (ocupará no máximo 100% da largura de qualquer tela) */
  width: 100%; /* Aqui estamos setando a largura do body para 100%, ou seja, ela terá 100 viewport-width já que esse é o limite do body. (Em cima setamos apenas o seu limite) */
}

header {
  width: 100%; /* O header terá 100% da largura do elemento pai (body)*/
  background: #bbbbbb;
}

.caixa {
  width: 100%; /* A div .caixa tera 100% da largura do elemento pai (header)*/

  display: flex; /* O display: flex (flexbox), é muito útil para alinhar e posicionar elementos, além de ajudar e muito na hora de tornar a nossa página responsiva, recomendo um aprofundamento nele. */

  justify-content: space-around; /* Essa propriedade justifica os elementos filhos do .caixa para que eles tenha um espaço entre si (o space-around, no caso, tem também o space-between e space-evenly, recomendo uma boa pesquisa sobre o justify-content, ele é muito útil). */

  align-items: center; /* O align-item ALINHA VERTICALMENTE os elementos filhos do .caixa, recomendo uma pesquisa sobre ele, pois em alguns casos ele ALINHA HORIZONTALMENTE. */
}

.caixa nav {
  position: initial; /* Setei a position para initial apenas para apagar a position que você setou acima (position: initial deixa a propriedade position no "default"). */
}

.caixa nav ul {
    margin: 0;
    padding: 0;
    display: flex; /* Resumindo, o display flex deixará os elemetons um ao lado do outro por "default". */
  list-style: none; /* Apenas removi os pontinhos indesejados da lista */
}

.caixa nav ul li {
  margin: 0 10px; /* Setei uma margem vertical como 0 e horizontal como 10 pixels entre cada li (item da navegação). */
}

.caixa nav ul li a {
  text-transform: uppercase;
  color: #000000;
  font-weight: bold;
  font-size: 22px;
  text-decoration: none;
  transition-duration: 0.5s; /* Essa propriedade aqui adiciona um tempo para a transição, por exemplo essa do hover, você pode tentar aumentar para 5s e colocar o mouse por cima do link e verá que é bem legal. */
}

.caixa nav ul li a:hover {
  color: #c78c19;
}

/* Espero ter ajudado */