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:
.conteudo__titulo {
font-family: "Krona One", sans-serif;
font-size: 2.5rem;
}
.conteudo__paragrafo {
font-size: 1.5rem;
font-family: "Montserrat", sans-serif;
}