Fonts no CSS

CSS
Tempo de leitura: 4 minutos

Fonts no CSS: A tipografia é a espinha dorsal de qualquer conteúdo web. Mais do que apenas estética, a escolha e a estilização das fontes afetam a legibilidade, a hierarquia da informação e, em última análise, a experiência do usuário. O CSS oferece um controle granular sobre cada aspecto do texto.

Neste artigo, vamos mergulhar nas propriedades essenciais da família font, entender a melhor forma de usar unidades e como importar fontes personalizadas com a regra @font-face.

1. As Propriedades Fundamentais de font

O CSS permite ajustar individualmente as características mais importantes da fonte:

PropriedadeFunçãoValor RecomendadoNotas
font-familyDefine a(s) fonte(s) a ser(em) usada(s).Lista de fontes (ex: 'Roboto', sans-serif)Deve sempre terminar com uma fonte genérica (serif, sans-serif) como fallback.
font-sizeDefine o tamanho do texto.Unidades relativas (rem, em, vw).Use rem para acessibilidade e escalabilidade.
font-weightDefine a espessura da fonte.normal (400), bold (700), 900Depende dos pesos que a fonte instalada ou importada suporta.
font-styleDefine o estilo da fonte.normal, italic, obliqueitalic é o mais comum, baseado na versão itálica da fonte.
line-heightDefine o espaçamento entre linhas.Valor sem unidade (ex: 1.6)Melhor Prática: Valores sem unidade são relativos ao font-size do próprio elemento, garantindo a herança correta.

✏️ A Propriedade font (Shorthand)

Para concisão, a maioria das propriedades de fonte pode ser combinada na propriedade shorthand font:

CSS

/* Sintaxe: font-style font-weight font-size/line-height font-family */

p {
  font: italic bold 1rem/1.6 'Helvetica Neue', sans-serif;
}
/* Isto define: font-style: italic; font-weight: bold; font-size: 1rem; line-height: 1.6; font-family: 'Helvetica Neue', sans-serif; */

Nota: É obrigatório que o font-size e o font-family estejam presentes no shorthand.

2. Fontes Web e a Regra @font-face

Para usar uma fonte que não está instalada no sistema do usuário (uma fonte personalizada), você deve primeiro carregá-la usando a regra @font-face.

Otimização e Prioridade

Ao importar fontes, você deve listar vários formatos de arquivo. Os navegadores modernos suportam amplamente o WOFF2, que oferece a melhor compressão.

CSS

@font-face {
  font-family: 'MinhaFontePersonalizada';
  src: url('minhafonte.woff2') format('woff2'), /* 1. Prioridade: WOFF2 (menor) */
       url('minhafonte.woff') format('woff');  /* 2. Fallback: WOFF */
  font-weight: 400; /* Define o peso específico desta variação */
  font-style: normal;
}

/* Agora a fonte pode ser usada */
h1 {
  font-family: 'MinhaFontePersonalizada', sans-serif;
}

🌐 Fontes Genéricas (font-family)

Sua declaração font-family deve sempre terminar com uma fonte genérica para garantir que o texto seja renderizado mesmo que nenhuma fonte específica seja encontrada:

  • serif: Fontes com traços (ex: Georgia)
  • sans-serif: Fontes sem traços (ex: Arial)
  • monospace: Caracteres de largura fixa (ex: Courier New)
  • cursive, fantasy

3. Acessibilidade e Responsividade da Tipografia

A. Acessibilidade (rem)

Como visto no artigo sobre Unidades CSS, usar rem para font-size é a melhor prática para acessibilidade. Ele permite que o texto escale uniformemente com a configuração de tamanho de fonte padrão do usuário no navegador, sem quebrar o layout.

B. Otimização de Performance

O carregamento de fontes personalizadas pode atrasar a renderização da página (o chamado “Flash de Texto Invisível” – FOUT ou FOIT).

  • font-display: Adicione esta propriedade na sua regra @font-face para controlar o comportamento de download da fonte:CSS@font-face { /* ... */ font-display: swap; /* Mostra o texto com uma fonte padrão primeiro, depois troca */ } O valor swap é geralmente o mais recomendado, pois prioriza a exibição imediata do conteúdo, mesmo que temporariamente com a fonte padrão.

✅ Conclusão Fonts no CSS

A tipografia é fundamental para a comunicação em seu site. Ao dominar as propriedades font-*, utilizar a sintaxe shorthand para concisão e empregar rem e um line-height sem unidade para escalabilidade, você garante um texto legível, acessível e alinhado à identidade visual do seu projeto. Lembre-se de otimizar o carregamento de fontes web para não comprometer o desempenho.

Toda jornada tem um início, e o início para se tornar um desenvolvedor web é dominar as seguintes tecnologias, que você encontra aqui mesmo:

HTML
HTML
CSS
CSS
Javascript
JavaScript

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi
Com mais de 20 anos de experiência em tecnologia, atuo como Engenheiro de Computação, desenvolvedor de sistemas, escritor e produtor de conteúdo. Minha trajetória passa pelo ensino técnico, desenvolvimento web, arquitetura de sistemas e criação de soluções voltadas para a indústria de jogos digitais. Acredito que conhecimento deve ser acessível e aplicável. Essa visão resultou em uma biblioteca com mais de 550 artigos gratuitos, abrangendo temas como desenvolvimento web, infraestrutura, inteligência artificial, Game Design, mercado de jogos e carreiras na indústria de games. Sou autor do livro "GDD – O Guia Definitivo", uma obra dedicada ao planejamento e documentação de jogos digitais, e criador do GameMeTRix, uma plataforma que auxilia desenvolvedores na análise e validação de ideias para jogos. Meu trabalho busca conectar planejamento, tecnologia e mercado para ajudar criadores a transformar boas ideias em projetos viáveis. Atualmente concentro meus estudos e projetos no desenvolvimento de jogos web, na criação de metodologias para validação de produtos digitais e na produção de conteúdo técnico voltado ao ecossistema de jogos. Meu compromisso é unir teoria, prática e experiência de mercado para contribuir com o crescimento de novos desenvolvedores e profissionais da área.