2
respostas

Meu texto não fica no lado da imagem.

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Alura Plus</title>
    <link rel="stylesheet" href="style.css">
    <script></script>
</head>
<body>
    <section class="container principal">
        <div class="container__caixa">
            <h1>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="Combo" class="container__imagem">
            <a href="www.alura.com.br" class="container__botao">Assine por 12x de R$ 120,90* por mês</a>
            <a href="www.alura.com.br" class="container__botao botao__secundario">Assinar 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="Alura plus aberto" class="secundario__imagem">
        <div class="container__descricao">
            <h2 class="descricao__titulo">Assita do seu jeito!</h2>
            <p class="descricao__texto">Aproveite a tela grande da TV ou assita 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+ oforece Alura+ e Alura linguagem juntos para você ter acesso a cursos de diversas áreas de 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 alura">
    
    </section>
    <header></header>
    <main></main>
    <footer></footer>
</body>
</html>
:root{
    --branco-principal: #ffffff;
    --cinza-secundario: #c0c0c0;
    --botao-azul: #167bf7;
    --cor-de-fundo: #00030c;
}

body{
    background-color: var(--cor-de-fundo);
    color: var(--cinza-secundario);
}

*{
    margin: 0;
    padding: 0;
}

.principal {
    background-image: url("img/Background.png");
    background-repeat: no-repeat;
    background-size: contain;
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
    text-align: center;
}

.container {
    height: 100vh;
}

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

.botao__secundario {
    background-color: transparent;
    border-radius: 5px;
    padding: 1em;
    text-decoration: none;
    display: block;
    border: 2px solid var(--branco-principal);
}

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

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

.container__caixa {
    margin: 0 6em;
}

.secundario__imagem {
    width: 30%;
}

.secundario {
    align-items: center;
    margin: 0 10em;
}

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

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

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

Olá Ítalo! Como vai?

Pelo que percebi, você está tentando fazer com que o texto fique ao lado da imagem, certo? Vamos lá, pela estrutura do seu HTML, você está usando a propriedade display: grid; para organizar os elementos dentro da classe .principal. No entanto, nas seções .container__secundario, você não aplicou essa propriedade e nem nada que deixasse os elementos alinhados lado-a-lado, o que faz com que os elementos se organizem um abaixo do outro, pois o comportamento padrão dos elementos div é o display: block;, que organiza os elementos em blocos um abaixo do outro.

Para resolver isso, você pode aplicar a propriedade display: flex; e para a classe .container__secundario, assim como fez na classe .principal, ou pode adicionar isso na classe .secundario e adicionar essa classe junto nas div´s que tem a classe .container__secundario. Isso fará com que os elementos dentro dessa classe se organizem em duas colunas, cada uma ocupando 50% do espaço disponível.

Seu CSS ficaria assim:

.secundario {
    display: flex;
    align-items: center;
    margin: 0 10em;
}

Lembre-se que a propriedade align-items: center; irá centralizar os itens verticalmente dentro do flexbox.

Era isso, se tiver alguma dúvida é só falar.

Espero ter ajudado, abraços e bons estudos!

Vlw Renan! Resolveu meu b.o