Meu texto não faz as quebras de linha igual ao da professora, por isso ele empurra a img, o que devo fazer para resolver o problema?
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!
Meu texto não faz as quebras de linha igual ao da professora, por isso ele empurra a img, o que devo fazer para resolver o problema?
Fala, Pedro Ernesto! Beleza?
Pelo que entendi, você tá dizendo que o texto tá se comportando meio estranho e empurrando a imagem, né? Isso geralmente acontece quando o texto não tá quebrando as linhas do jeito que a gente espera. A parada é que o HTML e o CSS têm algumas manhas pra controlar isso.
Primeira coisa: dá uma olhada no teu código HTML, onde você tá escrevendo o texto. Você tá usando a tag <p> pra criar parágrafos? Tipo assim:
<p>Seu texto aqui. Quebra de linha acontece automaticamente.</p>
O HTML já entende pra fazer as quebras de linha entre os parágrafos, mas pode ser que você tenha pulado essa tag e o texto ficou tudo na mesma linha.
Agora, se tu quiser quebrar a linha dentro de um mesmo parágrafo, você pode usar a tag <br>:
<p>Texto na primeira linha.<br>Texto na segunda linha.</p>
Mas ó, saca só: é mais recomendado usar as tags de estilo, tipo o CSS, pra controlar a formatação visual.
Se tua imagem tá sendo empurrada pelo texto, você pode definir um tamanho pro container onde tá o texto e a imagem usando o CSS, aí eles não vão brigar pra ocupar o mesmo espaço. Pode ser algo tipo:
.texto-e-imagem {
width: 50%; /* ou outro tamanho que fique bom */
}
E no teu HTML, você coloca a classe no container:
<div class="texto-e-imagem">
<p>Seu texto aqui.</p>
<img src="caminho-da-imagem" alt="Descrição da imagem">
</div>
Essa é uma forma bem simplificada de resolver, mas é isso aí. Front-end é assim mesmo, tentativa e erro!
Qualquer coisa, estamos aqui pra ajudar!
É essa parte que tá dando problema, vou tentar definir uma width pra tag div, class=container__discricao, pra ver se resolve o problema
<section class="container secundario">
<div class="container__discricao">
<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">Assine o Combo+</a>
</div>
<img src="./img/Telas.png" alt="Tela do Alura+ e Alura Língua" class="secundario__imagem" >
</section>
Compartilha uma screenshot da página no navegador, e a definição da classe no CSS, ajudaria a entender melhor o problema que você está enfrentando e identificar o erro no código.
Essa é a parte que dá o problema
Agora, compartilha seu código CSS relacionados a essa section e aos elementos filhos. O problema deve estar lá.
.container{
height: 100vh;
display: grid;
grid-template-columns: 50% 50%;
}
.secundario{
align-items: center;
}
.container__descricao{
padding: 2em;
}
.descricao__texto{
color: var(--cinza-secundario);
}
.cor__principal{
color: var(--branco-princial);
}
.container__botao{
background-color: var(--botao-azil);
color: var(--branco-princial);
text-decoration: none;
border-radius: 5px;
padding: 1em;
display: block;
margin-bottom: 1em;
}
.secundario__botao{
display: inline-block;
margin-top: 1em;
}
.secundario__imagem{
width: 80%;
margin: 0 9em;
}
Pelo código CSS, o que está acontecendo é que como foi criado uma grid com duas colunas de 50%. O container__discricao está ocupando 50% da tela e o secundario__imagem está ocupando os outros 50%. O que empurrou a imagem, provavelmente foi o padding aplicado em:
.container__descricao{
padding: 2em;
}
Você pode tentar tirar o padding do .container__descricao e colocar no .container, ou trocar o grid pelo flexbox em:
.container{
height: 100vh;
display: grid;
grid-template-columns: 50% 50%;
}
Existem diferentes formas de chegar no mesmo resultado, e não tem problema trocar o grid pelo flexbox, o que importa é obter o resultado.
Consegui, usei:
.terceario{
display: flex;
}
.terceario__texto{
margin-left: 12em;
}
.secundario__botao{
margin-left: 12em;
}
Ai alinhei aquela parte do texto e botão, tive que criar 3 novas classes, mas sem elas não ia dar certo.