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)
2
respostas

Lista de exercícios

Para a realização dessas atividades, utilizei este HTML já bem dividido:

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Documento</title>
</head>
<body>
    <main class ="apresentacao">
        <section class="apresentacao__conteudo">
            <h1 class = "conteudo__titulo"> Criando experiências digitais </h1>
            <p class = "conteudo__paragrafo"> Do conceito ao código, desenvolvo interfaces intuitivas e sistemas escaláveis.</p>
        </section>
        <img class="apresentacao__imagem" src="Diego.png" alt="Programador">
    </main>
</body>
</html>

Atividade 01

Depois disso, comecei colocando o conteúdo em Flexbox, alinhando os elementos e utilizando space-between para distribuí-los. Além disso, adicionei margens à apresentação para que os elementos não ficassem muito próximos das bordas da tela.

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

.apresentacao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 15vh;
}

Atividade 02

Após isso, defini o tamanho dos itens com base no viewport, pensando que desejava que usuários com diferentes resoluções enxergassem a tela da mesma forma. Todavia, isso funciona apenas até certo ponto. Por isso, para minimizar esse problema, adicionei o wrap:

.apresentacao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 15vh;
    flex-wrap: wrap;
}

.apresentacao__conteudo {
    width: 57vh;
}

.apresentacao__imagem {
    width: 43vh;
}

Atividade 03

Para os tamanhos dos textos, utilizei a propriedade font-size com valores em rem, seguindo boas práticas para escalabilidade:

.conteudo__titulo {
    font-size: 2.5rem;
}

.conteudo__paragrafo {
    font-size: 1.5rem;
}

Atividade 04 - 05

Por fim, importei e apliquei as fontes ao título e ao parágrafo:

@import url('https://fonts.googleapis.com/css2?family=Krona+One&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
...

.conteudo__titulo {
    font-family: "Krona One", sans-serif;
    font-size: 2.5rem;
}

.conteudo__paragrafo {
    font-size: 1.5rem;
    font-family: "Montserrat", sans-serif;
}
2 respostas
solução!

Olá, Diego. Como vai?

Sua organização ficou muito boa, desde o HTML com classes bem nomeadas até a evolução do CSS em cada atividade. Gostei bastante de você ter usado display: flex, justify-content: space-between, flex-wrap: wrap e medidas em rem, pois isso mostra cuidado com alinhamento, responsividade e acessibilidade visual.

Pensando nessa estrutura, como você ajustaria o layout para telas de celular, usando uma media query?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Olá Lorena.

Bom, acredito que, para o nível desta aplicação, ainda não seria necessário utilizar uma media query. Por isso, eu ajustaria a Flexbox visando à responsividade na medida do possível, até que realmente chegasse ao ponto em que sua utilização se tornasse necessária.

Partindo do princípio de que, quanto mais código é escrito, maior tende a ser a complexidade do sistema e mais difícil se torna sua manutenção, eu procuraria resolver o problema apenas com Flexbox enquanto isso fosse viável. Quando a implementação necessária para tornar o layout responsivo utilizando apenas Flexbox se tornasse mais complexa do que adicionar uma media query, eu passaria a utilizá-la.

Nesse caso, poderia ser utilizada uma regra como @media handheld and (min-width: 700px) and (orientation: landscape), aplicando dentro dela apenas os ajustes necessários e buscando manter a menor quantidade de código possível.