Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
13
respostas

First-child não funciona

Tstei já com fontes diferentes, com outras pseudo-classes (nth-child) e não funciona.

Segue meu código da parte relacionada:

.beneficios { padding: 3em 0; }

.itens { line-height: 1.5; }

.itens:first-child { font-weight: bold;

}

.conteudo-beneficios { width: 640px; margin: auto;

}

.lista-beneficios { width: 40%; display: inline-block; vertical-align: top; }

.imagem-beneficios { width: 60%; }

                <ul class="lista-beneficios">
                    <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>
                    <li class="itens">Pontualidade</li>
                    <li class="itens">Limpeza</li>
                </ul><img src="beneficios.jpg"  class="imagem-beneficios">
            </div>
13 respostas

Poderia postar todo o código HTML para gente poder olhar?

Não esqueça de colocar dentro de </>. ;-)

Olá, Rodrigo, não tem o ponto antes de "itens", veja:

itens: first-child {
    font-weight: bold;
}

Espero ter ajudados. Bons estudos!

Fala Rodrigo,

Eu coloquei o código exatamente como o seu e deu certo, não sei se você deu espaço no css do :first-child

.itens:first-child { 
      font-weight: bold;
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Material do curso com erro de digitação:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Faltando o ponto antes de itens...

Continua não funcionando, seja com ponto na frente, seja sem ponto.

Com ponto na frente

Sem o ponto nem sequer aparece o item do css:

Sem ponto antes de itens

Novamente, poderia postar todo o código HTML para gente poder olhar?

Seria bem útil postar todo o CSS também.

Não esqueça de colocar dentro de </>. ;-)

Rodrigo, fiz o teste aqui utilizando os trechos de código que você postou e, da mesma forma que o Anthoni, funcionou:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Então, o único jeito de desvendar este mistério é fazer o que a Vanessa sugeriu: postar os códigos completos (css e html) para vermos o que está acontecendo. Por exemplo, pode ser que tenha algum comando no css que esteja sobrescrevendo este em questão.

Aguardamos.

Outra coisa que pode ser: talvez esta fonte que você está utilizando não tenha a versão "bold" (negrito).

Experimente trocar o tipo de fonte para ver se resolve...

Então, como eu disse no primeiro post, eu testei com outras fontes. Uma coisa que eu percebo é que, quando eu atualizo a página, o negrito aparece por um décimo de segundo, aí some. No nth-child tb, parece que vem algo por cima e torna de volta sem bold.

HTML

<!DOCTYPE html>

<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width">
        <title>Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="style.css">
        <link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet">
    </head>
    <body>
    [...]

            </section>

            <section class='beneficios'>
                    <h3 class="titulo-principal">Benefícios</h3>

                <div class = "conteudo-beneficios">

                    <ul class="lista-beneficios">
                        <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>
                        <li class="itens">Pontualidade</li>
                        <li class="itens">Limpeza</li>
                    </ul><img src="beneficios.jpg"  class="imagem-beneficios">
                </div>

            <div class="video"> 
                <iframe width=100% height="315" src="https://www.youtube.com/embed/wcVVXUV0YUY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
            </div>


        </section>
        </main>

        <footer>
            <img src="logo-branco.png" alt="">
            <p class="copyright">&copy; Copyright Barbearia Alura - 2022 &#169</p>
        </footer>



    </body>



</html>

CSS

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

[...]

.beneficios {
    padding: 3em 0;
    background: #888888;
}

.itens {
    line-height: 1.5;
}

itens:first-child {
    font-weight: bold;    
}

.itens:before {
    content: "✯";
}

.conteudo-beneficios {
    width: 640px;
    margin: auto;

}

.lista-beneficios {
    width: 40%;
    display: inline-block;
    vertical-align: top;
}

.imagem-beneficios {
    width: 60%;
    opacity: 1;
    transition: 400ms;
    box-shadow: 10px 10px 20px 5px black, -10px -10px 5px 5px gray;
}

.imagem-beneficios:hover {
    opacity: 0.3;
}

.video {
    width: 560px;
    margin: 2em auto;
}

@media screen and (max-width: 480px){
    .caixa, .principal, .conteudo-beneficios, .mapa-conteudo, .video {
        width: auto;
    }

    h1 {
        text-align: center;
    }

    nav {
        position: static;
    }

    .lista-beneficios, .imagem-beneficios {
        width: 100%;
    }
}

Agora que vi já foi apontado isso . Bom dia! Notei que falta o ponto em

itens:first-child {
    font-weight: bold;    
}
solução!

Oi, Rodrigo, comentei essa linha:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E funcionou (não esquecendo do ponto antes de "itens"):

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Pelo jeito, o conteúdo de body (css) sobrescreve o restante e como os itens estão em uma lista dentro desta seção (body), qualquer outro comando de font-weight não funciona.

Espero ter ajudado. Bons estudos!

Perfeito, Leila! Resolveu!

Então, além do erro que já foi apontado, sobre estar faltando o . que compõe o seletor de classe, você está utilizando a fonte Monserrat. E o link do Google Fonts, que está no seu <head>, não contém os pesos necessários para fazer com que o body{ font-weight: 600; } , nem também em .itens:first-child {font-weight: bold;}.

Como está seu link atualmente:

<head>
    <link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet">
</head>

Por que isto pode estar acontecendo?

Quando vamos importar uma fonte, ali no Google Fonts, por exemplo, precisamos selecionar os pesos que queremos: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Então, para que os pesos(bold e outros valores) funcionem, ao importar a fonte, um link com os pesos semelhante ao que está abaixo será gerado:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> 

E é por isso que não está funcionando. Testei aqui, com link acima e funcionou: Insira aqui a descrição dessa imagem para ajudar na acessibilidade