📘 Bem-vindo à aula de Tipografia
A tipografia é uma das partes mais importantes do desenvolvimento visual de um site. Ela influencia diretamente a leitura, a organização das informações, a identidade visual e a experiência do usuário.
Um site pode possuir excelentes imagens, cores e funcionalidades, mas se os textos forem difíceis de ler, estiverem mal organizados ou utilizarem fontes inadequadas, a experiência do usuário será prejudicada.
Nesta aula você aprenderá desde os conceitos básicos de fontes até a construção de uma hierarquia visual completa utilizando HTML e CSS.
Não tente decorar todas as propriedades CSS. O mais importante é entender o papel de cada propriedade e saber onde procurar quando precisar utilizá-la.
01. O que é Tipografia?
📌 Definição
Tipografia é o estudo e a aplicação visual das letras, palavras e textos para tornar uma informação legível, organizada e visualmente adequada.
No desenvolvimento web, a tipografia determina como os textos aparecerão para o usuário.
Isso inclui características como:
- Tipo de fonte;
- Tamanho da fonte;
- Peso da fonte;
- Espaçamento entre linhas;
- Espaçamento entre letras;
- Alinhamento;
- Cor;
- Contraste;
- Organização dos títulos e textos.
h1 {
font-family: Arial, sans-serif;
font-size: 36px;
font-weight: 700;
}
Nesse exemplo, estamos definindo a família da fonte, o tamanho e o peso utilizado no título.
02. O que é uma Fonte?
Uma fonte é um conjunto de características visuais utilizadas para representar letras, números e símbolos.
Cada fonte possui uma aparência própria.
| Fonte | Característica |
|---|---|
| Arial | Simples e bastante utilizada |
| Georgia | Serifada e tradicional |
| Verdana | Boa legibilidade em telas |
| Courier New | Monoespaçada |
| Montserrat | Moderna e muito utilizada em interfaces |
| Poppins | Moderna e geométrica |
03. Principais Tipos de Fontes
🔹 Serifadas
Fontes serifadas possuem pequenos prolongamentos ou detalhes nas extremidades das letras.
Exemplo:
font-family: Georgia, serif;
🔹 Sem Serifa
São fontes sem os pequenos prolongamentos nas extremidades das letras.
São muito utilizadas em sites, sistemas e aplicativos.
font-family: Arial, sans-serif;
🔹 Monoespaçadas
Cada caractere ocupa aproximadamente o mesmo espaço horizontal.
São muito utilizadas para apresentar códigos de programação.
font-family: "Courier New", monospace;
🔹 Display
Fontes desenvolvidas principalmente para chamar atenção em títulos, banners e elementos visuais.
Uma fonte decorativa pode funcionar muito bem em um título, mas pode dificultar a leitura quando utilizada em grandes blocos de texto.
04. Propriedade font-family
A propriedade font-family define qual família de fonte será utilizada no texto.
📝 Sintaxe
seletor {
font-family: nome-da-fonte;
}
💻 Exemplo
body {
font-family: Arial, sans-serif;
}
É comum definir uma fonte principal e uma fonte alternativa.
Caso a primeira fonte não esteja disponível, o navegador poderá utilizar a próxima opção.
font-family: Arial, Helvetica, sans-serif;
05. Tamanho da Fonte — font-size
A propriedade font-size define o tamanho do texto.
💻 Exemplo
h1 {
font-size: 40px;
}
p {
font-size: 16px;
}
📏 Exemplos de tamanhos
| Tamanho | Uso comum |
|---|---|
| 12px | Informações pequenas |
| 14px | Textos auxiliares |
| 16px | Texto padrão |
| 18px | Texto confortável para leitura |
| 24px | Subtítulos |
| 32px | Títulos |
| 40px ou mais | Grandes títulos e destaque |
Esses valores são apenas referências. Não existe um tamanho obrigatório para cada elemento.
06. Unidades para Tipografia
O CSS permite utilizar diferentes unidades para definir tamanhos.
| Unidade | Significado | Exemplo |
|---|---|---|
| px | Pixels | 16px |
| rem | Relacionada ao tamanho da fonte raiz | 1rem |
| em | Relacionada ao elemento pai | 1.2em |
| % | Porcentagem | 100% |
| vw | Percentual da largura da janela | 5vw |
| vh | Percentual da altura da janela | 5vh |
💻 Exemplo com rem
html {
font-size: 16px;
}
h1 {
font-size: 2rem;
}
O uso de rem é muito comum em projetos responsivos porque facilita a criação de uma escala tipográfica consistente.
07. Peso da Fonte — font-weight
A propriedade font-weight controla a espessura dos caracteres.
📊 Principais valores
| Valor | Uso |
|---|---|
| 100 | Muito fino |
| 300 | Leve |
| 400 | Normal |
| 500 | Médio |
| 600 | Semi-negrito |
| 700 | Negrito |
| 900 | Muito negrito |
h1 {
font-weight: 700;
}
p {
font-weight: 400;
}
Nem toda fonte possui todos os pesos disponíveis. Antes de usar determinado peso, verifique se a fonte oferece essa variação.
08. Estilo da Fonte — font-style
A propriedade font-style controla o estilo da fonte.
p {
font-style: italic;
}
Os valores mais conhecidos são:
- normal — texto normal;
- italic — texto em itálico;
- oblique — texto inclinado.
09. Espaçamento entre Linhas — line-height
A propriedade line-height controla o espaço vertical entre as linhas de um texto.
💻 Exemplo
p {
font-size: 16px;
line-height: 1.6;
}
Quando o espaçamento entre as linhas é muito pequeno, o texto pode ficar visualmente apertado.
Quando é muito grande, o conteúdo pode parecer desconectado.
Para textos de leitura, valores próximos de 1.4 a 1.8 podem proporcionar uma leitura confortável, dependendo da fonte e do tamanho utilizado.
10. Espaçamento entre Letras — letter-spacing
A propriedade letter-spacing controla o espaço entre os caracteres.
h1 {
letter-spacing: 2px;
}
Também podemos utilizar valores negativos:
h1 {
letter-spacing: -1px;
}
Evite exagerar. Espaçamento excessivo pode prejudicar a leitura.
11. Espaçamento entre Palavras — word-spacing
A propriedade word-spacing controla o espaço entre as palavras.
p {
word-spacing: 5px;
}
12. Transformação do Texto — text-transform
Permite controlar visualmente a capitalização do texto através do CSS.
h1 {
text-transform: uppercase;
}
📌 Principais valores
- uppercase — transforma em maiúsculas.
- lowercase — transforma em minúsculas.
- capitalize — coloca a inicial das palavras em maiúscula.
- none — mantém o texto original.
13. Alinhamento do Texto — text-align
Define como o texto será alinhado horizontalmente.
h1 {
text-align: center;
}
p {
text-align: left;
}
📊 Valores principais
- left — esquerda;
- right — direita;
- center — centro;
- justify — justificado.
Em interfaces modernas, o alinhamento à esquerda costuma ser bastante confortável para textos longos.
14. Decoração do Texto — text-decoration
Controla linhas decorativas aplicadas ao texto.
a {
text-decoration: none;
}
Alguns valores:
- none
- underline
- overline
- line-through
Evite remover a aparência de link de elementos que funcionam como links sem fornecer outro indicador visual. Isso pode prejudicar a identificação do elemento pelo usuário.
15. Sombra no Texto — text-shadow
A propriedade text-shadow cria uma sombra visual no texto.
h1 {
text-shadow: 2px 2px 4px #000000;
}
Utilize sombras com moderação. O objetivo é melhorar o visual ou contraste, e não dificultar a leitura.
16. O que é Hierarquia Visual?
Hierarquia visual é a organização dos elementos de uma página para indicar ao usuário o que deve ser percebido primeiro, segundo e assim por diante.
Em um site, nem todas as informações possuem a mesma importância.
Um título principal deve chamar mais atenção do que um texto secundário.
Um botão importante pode possuir mais destaque do que uma informação complementar.
H1
↓
Título principal
H2
↓
Seção importante
H3
↓
Subseção
Parágrafo
↓
Informação detalhada
Texto auxiliar
↓
Informação secundária
17. H1, H2, H3, H4, H5 e H6
As tags HTML de título representam diferentes níveis de organização do conteúdo.
<h1>Título principal</h1>
<h2>Seção</h2>
<h3>Subseção</h3>
<h4>Subseção menor</h4>
<h5>Título de nível menor</h5>
<h6>Título de nível menor</h6>
Não escolha uma tag apenas porque ela parece maior ou menor. A escolha deve considerar a estrutura e a importância do conteúdo.
O tamanho visual pode ser alterado através do CSS.
h2 {
font-size: 32px;
}
Portanto, você não precisa utilizar uma tag HTML diferente apenas para obter determinado tamanho.
18. Criando uma Escala Tipográfica
Uma escala tipográfica define uma relação consistente entre os diferentes tamanhos de texto utilizados no projeto.
💻 Exemplo
h1 {
font-size: 40px;
}
h2 {
font-size: 32px;
}
h3 {
font-size: 24px;
}
p {
font-size: 16px;
}
.texto-auxiliar {
font-size: 14px;
}
- Organização;
- Consistência;
- Leitura mais fácil;
- Identificação das seções;
- Visual mais profissional.
19. Contraste Tipográfico
Contraste tipográfico é a diferença visual entre elementos de texto.
Podemos criar contraste utilizando:
- Tamanho;
- Peso;
- Cor;
- Espaçamento;
- Família de fonte;
- Estilo.
💻 Exemplo
h1 {
font-size: 42px;
font-weight: 700;
}
p {
font-size: 16px;
font-weight: 400;
}
O contraste ajuda o usuário a identificar rapidamente o que é título, subtítulo, conteúdo e informação complementar.
20. Como Combinar Fontes?
Combinar fontes significa utilizar duas ou mais famílias tipográficas de maneira planejada dentro de um projeto.
🎯 Estratégia simples
Uma estratégia comum é utilizar uma fonte para títulos e outra para textos.
h1, h2, h3 {
font-family: "Poppins", sans-serif;
}
body {
font-family: "Roboto", sans-serif;
}
Utilizar muitas fontes diferentes pode deixar o projeto visualmente confuso.
Para muitos projetos, trabalhar com uma ou duas famílias tipográficas já é suficiente.
21. Utilizando Google Fonts
Google Fonts é uma biblioteca de fontes que pode ser utilizada em projetos web.
📝 Exemplo
Uma fonte pode ser carregada no HTML através de um link fornecido pelo serviço.
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap" rel="stylesheet">
Depois podemos utilizar a fonte no CSS:
body {
font-family: "Poppins", sans-serif;
}
- Escolha uma fonte.
- Selecione os pesos necessários.
- Copie o código fornecido.
- Coloque o código no HTML.
- Utilize a fonte no CSS.
- Teste a leitura em diferentes tamanhos.
22. Tipografia Responsiva
Tipografia responsiva adapta o tamanho e a organização dos textos conforme o espaço disponível na tela.
💻 Exemplo com Media Query
h1 {
font-size: 42px;
}
@media (max-width: 768px) {
h1 {
font-size: 32px;
}
}
Nesse exemplo, o título possui 42px em telas maiores e passa para 32px em telas menores.
23. Tipografia Fluida com clamp()
A função clamp() permite estabelecer um tamanho mínimo, um tamanho preferencial e um tamanho máximo.
h1 {
font-size: clamp(2rem, 5vw, 4rem);
}
clamp(
mínimo,
valor preferencial,
máximo
)
Dessa maneira, o texto pode se adaptar melhor ao tamanho da tela.
24. Largura das Linhas e Legibilidade
A largura de um bloco de texto influencia diretamente o conforto durante a leitura.
💻 Exemplo
.texto {
max-width: 700px;
}
Em textos muito largos, os olhos precisam percorrer uma distância maior para encontrar a próxima linha.
Utilize largura adequada para textos longos e combine isso com espaçamento entre linhas confortável.
25. Tipografia e Acessibilidade
A tipografia também precisa considerar usuários com diferentes necessidades de acesso e leitura.
✅ Boas práticas
- Utilizar tamanho de texto confortável;
- Manter bom contraste entre texto e fundo;
- Evitar fontes excessivamente decorativas;
- Utilizar espaçamento adequado;
- Organizar corretamente os títulos;
- Não transmitir informações apenas pela aparência;
- Permitir boa leitura em telas menores.
Texto pequeno, pouco contraste e excesso de elementos decorativos podem dificultar a compreensão do conteúdo.
26. Estrutura Tipográfica de um Site
H1
Título principal do site
Texto introdutório
H2
Primeira seção
Parágrafo explicativo
H3
Subseção
Parágrafo
H2
Segunda seção
Parágrafo
Texto auxiliar
O usuário deve conseguir observar rapidamente a página e identificar quais são os assuntos principais e quais são os detalhes.
27. Criando um Sistema de Tipografia com Variáveis CSS
Variáveis CSS permitem armazenar valores que podem ser reutilizados em diferentes partes do projeto.
💻 Exemplo
:root {
--fonte-principal: "Poppins", sans-serif;
--tamanho-h1: 40px;
--tamanho-h2: 32px;
--tamanho-h3: 24px;
--tamanho-texto: 16px;
}
body {
font-family: var(--fonte-principal);
}
h1 {
font-size: var(--tamanho-h1);
}
h2 {
font-size: var(--tamanho-h2);
}
p {
font-size: var(--tamanho-texto);
}
Se você quiser alterar o tamanho padrão dos títulos, poderá modificar a variável em um único lugar.
28. Erros Comuns de Tipografia
❌ Utilizar fontes demais
Muitas famílias tipográficas podem deixar o projeto visualmente desorganizado.
❌ Texto muito pequeno
Pode dificultar a leitura, principalmente em dispositivos menores.
❌ Pouco espaçamento
Textos muito próximos podem causar sensação de conteúdo "apertado".
❌ Excesso de negrito
Se tudo estiver em negrito, nada terá destaque.
❌ Usar caixa alta em textos longos
Grandes blocos em letras maiúsculas podem dificultar a leitura.
❌ Não criar hierarquia
Se títulos, subtítulos e parágrafos tiverem praticamente o mesmo tamanho e peso, será mais difícil identificar a estrutura.
❌ Ignorar dispositivos móveis
Uma tipografia que funciona bem em um monitor grande pode não funcionar da mesma forma em um celular.
29. Exemplo Completo de Tipografia
<section class="conteudo">
<h1>
Desenvolvimento Web
</h1>
<p class="subtitulo">
Aprenda a criar sites modernos.
</p>
<h2>
Front-end
</h2>
<p>
O desenvolvimento front-end trabalha
com a interface apresentada ao usuário.
</p>
<h3>
Tecnologias
</h3>
<p>
HTML, CSS e JavaScript são algumas
das principais tecnologias.
</p>
</section>
:root {
--fonte-principal: Arial, sans-serif;
}
body {
font-family: var(--fonte-principal);
line-height: 1.6;
}
.conteudo {
max-width: 800px;
margin: auto;
}
h1 {
font-size: 42px;
font-weight: 700;
}
.subtitulo {
font-size: 20px;
font-weight: 400;
}
h2 {
font-size: 32px;
margin-top: 40px;
}
h3 {
font-size: 24px;
}
p {
font-size: 16px;
}
Criamos diferentes níveis de tamanho, peso e espaçamento para deixar clara a relação entre título, subtítulo, seções e parágrafos.
30. Checklist de Tipografia
🏆 Desafio Final — Crie uma Hierarquia Visual
Criar uma pequena página utilizando uma hierarquia tipográfica profissional.
📝 Etapa 1 — Crie o HTML
<main>
<h1>
Minha Tecnologia
</h1>
<p>
Conheça as principais tecnologias
utilizadas no desenvolvimento web.
</p>
<h2>
HTML
</h2>
<p>
HTML é responsável pela estrutura
da página.
</p>
<h2>
CSS
</h2>
<p>
CSS é utilizado para estilizar
a página.
</p>
<h2>
JavaScript
</h2>
<p>
JavaScript permite criar
interações.
</p>
</main>
🎨 Etapa 2 — Crie a hierarquia
Utilize pelo menos:
- Uma fonte principal;
- Um tamanho para H1;
- Um tamanho para H2;
- Um tamanho para parágrafos;
- Diferentes pesos;
- Espaçamento entre linhas;
- Margens entre seções.
📱 Etapa 3 — Torne responsivo
Crie uma Media Query para alterar o tamanho do H1 em telas menores.
@media (max-width: 768px) {
h1 {
font-size: 32px;
}
}
🎯 Etapa 4 — Teste
- Abra o projeto no navegador.
- Observe o título principal.
- Observe os subtítulos.
- Observe os parágrafos.
- Reduza o tamanho da janela.
- Abra o DevTools.
- Teste diferentes tamanhos de tela.
- Verifique se o conteúdo continua fácil de ler.
Ao final, sua página deverá apresentar uma estrutura visual clara, na qual o usuário consiga identificar rapidamente o título principal, as seções, os subtítulos e os textos explicativos.
📚 Resumo da Aula
- O que é tipografia;
- O que são fontes;
- Tipos de fontes;
- font-family;
- font-size;
- font-weight;
- font-style;
- line-height;
- letter-spacing;
- word-spacing;
- text-transform;
- text-align;
- text-decoration;
- text-shadow;
- Unidades CSS;
- Hierarquia visual;
- Escala tipográfica;
- Contraste tipográfico;
- Google Fonts;
- Tipografia responsiva;
- clamp();
- Acessibilidade;
- Variáveis CSS;
- Boas práticas;
- Erros comuns.
Uma boa tipografia não serve apenas para deixar o site bonito. Ela existe principalmente para organizar a informação e facilitar a comunicação com o usuário.
No desenvolvimento profissional, pense sempre em três pontos:
- Legibilidade — o usuário consegue ler?
- Hierarquia — o usuário entende o que é mais importante?
- Consistência — o padrão visual se mantém em todo o site?