4
respostas

Responsividade

Estou com dúvidas no meu código responsivo. Fiz tudo como ela ensinou no responsivo, porém fica diferente do que temos no figma. Eu gostaria de deixar identico, inclusive a seção que está com a imagem abaixo, eu gostaria de colocar acima do texto, deixando consistente.

:root {
    --branco-primario: #FFFFFF;
    --cinza-secundario: #C0C0C0;
    --botao-azul: #167BF7;
    --cor-de-fundo: #00030C;
    --fonte-principal: 'Inter';
    --botao-azul-hover: #5ea4f9;
}

body {
    background-color: var(--cor-de-fundo);
    color: var(--branco-primario);
    font-family: var(--fonte-principal);
    font-size: 16px;
    font-weight: 400;
}

* {
    margin: 0;
    padding: 0;
}

.primario {
    background-image: url("img/Background.png");
    background-repeat: no-repeat;
    background-size: contain;
    align-items: center;
    text-align: center;
}

.container {
    height: 100vh;
    display: grid;
    grid-template-columns: 50% 50%;
}

.container__titulo {
    font-size: 28px;
    font-weight: 700;
}

.container__botao {
    background-color: var(--botao-azul);
    border-radius: 8px;
    padding: 1em;
    color: var(--branco-primario);
    display: block;
    text-decoration: none;
    margin-bottom: 1em;
}

.container__botao:hover {
    background-color: var(--botao-azul-hover);
    color: var(--cor-de-fundo);
}

.botao_secundario {
    background-color: transparent;
    border: 2px solid var(--branco-primario);
}

.botao_secundario:hover {
    background-color: transparent;
    border: 3px solid var(--branco-primario);
    color: var(--branco-primario);
}

.container__aviso {
    font-size: 12px;
    color: var(--cinza-secundario);
}

.container__imagem {
    margin: 1em 0 2em 0;
}

.container__caixa {
    margin: 0 6em;
}

.secundario__imagem {
    width: 80%;
}

.secundario {
    align-items: center;
    margin: 5em 5em;
    height: 100%;
}

.descricao__titulo {
    font-weight: 700;
    font-size: 48px;
    color: var(--branco-primario);
    margin-bottom: 0.2em;
}

.descricao__texto {
    color: var(--cinza-secundario);
}

.secundario__botao {
    display: inline-block;
    margin-top: 1em;
}

.container__descricao {
    padding: 2em;
}

.dispositivos__lista {
    display: flex;
    justify-content: center;
    list-style-type: none;
    margin: 5em 0;
}

.dispositivos {
    text-align: center;
}

.dispositivos__titulo {
    font-size: 48px;
    color: var(--branco-primario);
}

.lista__item {
    font-size: 32px;
    color: var(--branco-primario);
}

.rodape {
    text-align: center;
    margin: 5em 3em;
}

.rodape__logo {
    padding-bottom: 2em;
}

.rodape__lista {
    display: flex;
    justify-content: center;
    list-style-type: none;
    margin-top: 1em;
    padding-bottom: 1em;
}

.lista__link a{
    text-decoration: none;
    color: var(--branco-principal);
    margin-left: 1em;
}

.rodape__texto {
    margin: 1em 0;
    color: var(--cinza-secundario);
    font-size: 14px;
    padding-bottom: 0.5em;
}

.lista__link a:hover {
    color: var(--botao-azul);
    text-decoration-line: underline;
}

.lista__link a:active {
    color: var(--cinza-secundario);
}

@media screen and (max-width: 768px) {
    .container {
        display: block;
    }

    .primario {
        height: 50vh;
        margin: 0;
    }

    .container__imagem {
        width: 50%;
    }

    .container__caixa {
        margin: 2em 2em;
    }

    .container__secundario {
        display: flex;
        flex-direction: column-reverse;
    }

    .secundario {
        margin: 2em 2em;
        text-align: center;
    }

    .secundario__imagem {
        width: 50%;
        align-items: center;
    }

    .descricao__titulo {
        font-size: 26px;
    }

    .dispositivos__lista {
        display: block;
    }

    .dispositivos {
        display: block;
    }

    .dispositivos__titulo {
        font-size: 26px;
        text-align: center;
    }

    .lista__link {
        padding-bottom: 1em;
        font-size: 8px;
    }

    .lista__item {
        font-size: 24px;
    }

    .rodape__lista {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 2em;
    }

    .rodape__texto {
        margin: 1em 0;
        color: var(--cinza-secundario);
        font-size: 8px;
        padding-bottom: 0.5em;
    }
    
}
4 respostas

Olá, Wellington. Tudo bem?

Para poder te ajudar melhor, você poderia me fornecer o código completo do seu projeto? Se puder, envie pelo GitHub, assim consigo ter acesso a todo o código e te ajudar de forma mais precisa.

Fico no aguardo e à disposição

Boa tarde, blz?

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <title>Alura Plus</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="styles.css">
    <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=Inter:ital,opsz@0,14..32;1,14..32&display=swap" rel="stylesheet">
    <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=Inter:ital,opsz,wght@0,14..32,700;1,14..32,700&display=swap" rel="stylesheet">
</head>

<body>
    <section class ="container primario">
        <div class="container__caixa">
            <h1 class="container__titulo">Com o Combo+, você pode aproveitar a Alura+ e o Alura Língua por um preço único.</h1>
            <img src="img/Combo.png" alt="O combo+ é a junção do alura+ e o alura lingua" class="container__imagem">
            <a href="www.alura.com.br" class="container__botao">Assine por 12x de R$ 120,00*</a>
            <a href="www.alura.com.br" class="container__botao botao_secundario">Assinar somente o Alura+</a>
            <p class="container__aviso">*O preço pode variar caso a assinatura seja feita em outros planos.</p>
        </div>
    </section>

    <section class="container secundario">
        <img src="img/Plataformas.png" alt="Um monitor e um celular com o alura plus aberto" class="secundario__imagem">
        <div class="container__descricao">
            <h2 class="descricao__titulo">Assista do seu jeito</h2>
            <p class="descricao__texto">Aproveite a tela grande da TV ou assista no tablet, laptop, celular e outros aparelhos. Nossa seleção de cursos não para de crescer.</p>
        </div>
    </section>

    <section class="container secundario">
        <div class="container__descricao">
            <p class="descricao__texto">Só o Combo+ oferece Alura+ e Alura Língua juntos para você ter acesso a cursos de diversas áreas da tecnologia e aprender inglês ou espanhol, onde e como quiser.</p>
            <a href="www.alura.com.br" class="container__botao secundario__botao">Assinar o combo+</a>
        </div>
        <img src="img/Telas.png" alt="Tela da altura plus e do alura lingua" class="secundario__imagem">
    </section>

    <section class="container secundario">
        <img src="img/Notebook.png" alt="Um notebook aberto e na tela a página do curso HTML e CSS parte 1 da alura" class="secundario__imagem">
        <div class="container__descricao">
            <h2 class="descricao__titulo">Baixe seus cursos</h2>
            <p class="descricao__texto">Baixe e assista quando e onde quiser. Assim, seus favoritos estão sempre com você, até mesmo sem internet.</p>
        </div>
    </section>

    <section class="dispositivos">
        <h2 class="dispositivos__titulo"> Disponível nos seus dispositivos favoritos</h2>
        <ul class="dispositivos__lista">
            <li>
                <img src="img/tv.png" alt="ícone de televisão">
                <h3 class="lista__item">TV</h3>
            </li>
            <li>
                <img src="img/computador.png" alt="ícone de computador">
                <h3 class="lista__item">Computadores</h3>
            </li>
            <li>
                <img src="img/celular.png" alt="ícone de celular e ícone de tablet">
                <h3 class="lista__item">Celulares e tablets</h3>
            </li>
    </section>

    <footer class="rodape">
        <img src="img/Logo.png" alt="Logo Alura+" class="rodape__logo">
        <ul class="rodape__lista">
            <li class="lista__link">
                <a href="#">Idioma</a>
            <li class="lista__link">
                <a href="#">Contrato de assinatura</a>
            </li>
            <li class="lista__link">
                <a href="#">Política de privacidade</a>
            </li>
            <li class="lista__link">
                <a href="#">Proteção de dados no Brasil</a>
            </li>
            <li class="lista__link">
                <a href="#">Anúncios personalizados</a>
            </li>
            <li class="lista__link">
                <a href="#">Ajuda</a>
            </li>
        </ul>
        <p class="rodape__texto">® 2021 Alura, Alura+ e Alura Língua. Todos os direitos reservados. Serviço de assinatura paga. Conteúdo sujeito a disponibilidade.</p>
        <p class="rodape__texto">Alura+ é um serviço pago, baseado em assinatura e sujeito a termos e condições. O serviço Alura+ é comercializado por Aovs Sistemas de Informática S.A., Rua Vergueiro, 3185 - Liberdade, São Paulo - SP, 04101-300, Brasil e CNPJ 05.555.382/0001-33</p>
    </footer>

</body>

</html>

Oi, Wellington.

Você pode fazer um pequeno ajuste no seletor para que a imagem fique acima do texto como nas outras <section>.

Atualmente você tem a seguinte regra no seu css:

.container__secundario {
    display: flex;
    flex-direction: column-reverse;
}

No entanto, há dois problemas. Primeiro, não há no seu HTML um elemento com a classe container__secundario (há alguns com as classes container e secundario, separadas). Então o CSS não está sendo aplicado em nenhum elemento.

Segundo que você quer que apenas a terceira <section> inverta a ordem dos elementos. Para isso, você pode usar a psedo-classe :nth-child, com ela você pode selecionar um elemento com base em sua posição em um grupo de elementos irmãos, por exemplo:

.container:nth-child(3) {
  display: flex;
  flex-direction: column-reverse;
}

demonstrando a pseudo-classe nth-child

Assim você especifica o elemento no qual a ordem dos elementos será invertida. Você pode ler um pouco mais sobre essa pseudo-classe aqui.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Ótimo, era isso mesmo cara, muito obrigado, eu não conseguiria chegar nessa solução ainda, pois não há vi. Aproveitando, eu gostaria de deixar a imagem dos professores no header da página e o texto abaixo, como no Figma, eu tentei mas tbm não consegui e não queria deixar uma margem enorme no topo, só para ter esse resultado, como eu faria?