Fontes CSS | Aspose.Font para .NET
Este artigo tem como objetivo ensinar sobre fontes no HTML/CSS e suas propriedades, apresentando exemplos de código sobre como trabalhar com elas. Você aprenderá como tornar seu texto negrito ou seminegrito, como alterar o tamanho da fonte ou a família de fontes no CSS e muito mais.
Você também verá a diferença entre as propriedades de fonte do CSS e a classificação comum das propriedades de fonte. Esses fundamentos são descritos no artigo O que é fonte?.
Fontes CSS
A fonte no CSS é um recurso que contém uma representação visual dos glifos. Simplificando, ela possui informações que mapeiam os glifos aos seus respectivos códigos.
Os recursos de fonte podem ser configurados localmente em um dispositivo no qual o navegador funciona. Para essas fontes, as informações podem ser obtidas diretamente do recurso (por exemplo, de um arquivo Montserrat.ttf). Para fontes da web (web fonts), essas informações são vinculadas através de um link para o recurso da fonte.
Propriedades de fonte CSS
O CSS fornece várias propriedades de fonte para controlar a aparência e o comportamento das fontes em páginas da web. Elas podem ser usadas individualmente ou combinadas para alcançar os efeitos tipográficos desejados. Nem todas são suportadas por todos os navegadores, por isso é essencial considerar a compatibilidade entre navegadores ao utilizá-las.
Vamos dar uma olhada em algumas das propriedades mais usadas:
font-family(Família da fonte)font-weight(Peso/Espessura da fonte)font-stretch(Alongamento da fonte)font-style(Estilo da fonte)font-size(Tamanho da fonte)font(Propriedade abreviada)font-synthesis(Síntese da fonte)text-decoration(Decoração de texto)text-transform(Transformação de texto)letter-spacing(Espaçamento entre letras)line-height(Altura da linha)word-spacing(Espaçamento entre palavras)
Família de fonte CSS (font-family)
Fontes com um design comum geralmente são agrupadas em uma família de fontes. Dentro da família, os glifos podem variar em largura, inclinação ou peso.
A propriedade CSS font-family é usada para escolher o tipo de letra. É recomendável especificar todas as variações das fontes de um tipo, pois é difícil prever se a fonte específica está disponível no computador do usuário. Nesse caso, o navegador verificará a presença das fontes listadas, uma a uma, até encontrar uma disponível.
A propriedade font-family é herdada.
No CSS, a propriedade font-family aceita os seguintes valores:
- Nome da família da fonte: (
Verdana,Montserrat,Courier). - Família genérica: Aqui você deve indicar um dos cinco
tipos de fontes:
serif,sans-serif,cursive(equivalente a fontes de escrita manual),fantasy(equivalente a fontes decorativas) oumonospace. initial: Define os valores padrão.inherit: Herda os valores do elemento pai.
Exemplo de uso:
No exemplo abaixo, os seguintes parâmetros são definidos:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font-family: | Lobster, Pacifico, cursive; | Audiowide, fantasy; | Courier, monospace; |
Sintaxe:
1// texto 1
2.text1 {
3 font-family: Lobster, cursive;
4}
5// texto 2
6.text2 {
7 font-family: Audiowide, fantasy;
8}
9// texto 3
10.text3 {
11 font-family: Courier, monospace;
12}O resultado da aplicação será o seguinte (observe que o tamanho da fonte e a cor foram os mesmos para os três textos no <body>):

Peso da fonte CSS (font-weight)
A propriedade font-weight é responsável pela espessura das linhas da fonte.
A propriedade font-weight é herdada.
No HTML/CSS, o font-weight pode ter os seguintes valores:
normal: É o valor padrão, equivalente a 400.bold: Torna a fonte negrito, equivalente ao peso 700.bolder: Define um peso mais pesado do que o do elemento pai.lighter: Define um peso mais leve do que o do elemento pai.100, 200, 300, 400, 500, 600, 700, 800, 900: Onde100é a fonte mais leve e900é a mais pesada (negrito).initial: Define o valor padrão.inherit: Herda o valor do elemento pai.
Exemplo de uso:
Vamos renderizar textos com os seguintes parâmetros de font-weight:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font-weight: | 900; | 500; | 200; |
Sintaxe:
1// texto 1
2.text1 {
3 font-weight: 900;
4}
5// texto 2
6.text2 {
7 font-weight: 500;
8}
9// texto 3
10.text3 {
11 font-weight: 200;
12}O resultado da aplicação será este (com tamanho e cor idênticos para os três textos). É importante lembrar que a fonte utilizada deve possuir as variações de peso necessárias. A maioria das fontes está disponível apenas nos pesos normal e bold (ou semi-bold). A fonte Segoe UI usada no exemplo possui variações suficientes para que o texto seja renderizado corretamente em todos os valores definidos.

Alongamento de fonte CSS (font-stretch)
A propriedade font-stretch permite escolher entre os tipos normal, condensado ou expandido da família de fontes. Esta propriedade também não funciona para todas as fontes; apenas fontes especialmente projetadas que possuem variações de largura na família podem renderizar essa propriedade.
A propriedade font-stretch é herdada.
Os valores de font-stretch no CSS podem ser:
ultra-condensed: Para a fonte mais condensada.extra-condensed: Segunda fonte mais condensada.condensed: Fonte condensada.semi-condensed: Fonte ligeiramente condensada.normal: Valor padrão.semi-expanded: Fonte ligeiramente expandida.expanded: Fonte expandida.extra-expanded: Segunda fonte mais expandida.ultra-expanded: Fonte mais expandida.initial: Define o valor padrão.inherit: Herda o valor do elemento pai.
Exemplo de uso:
Vamos renderizar textos com os seguintes parâmetros de font-stretch:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font-stretch: | condensed; | normal; | expanded; |
Sintaxe:
1// texto 1
2.text1 {
3 font-stretch: condensed;
4}
5// texto 2
6.text2 {
7 font-stretch: normal;
8}
9// texto 3
10.text3 {
11 font-stretch: expanded;
12}O resultado será o seguinte:

Estilo de fonte CSS (font-style)
Esta propriedade regula a inclinação da fonte.
A propriedade font-style é herdada.
A propriedade font-style pode ter os seguintes valores:
normal: Valor padrão que define a inclinação normal da fonte.italic: Aplica o estilo itálico ao texto.oblique: Define uma versão inclinada da fonte (quando disponível na família).initial: Define o valor padrão.inherit: Herda o valor do elemento pai.
Exemplo de uso:
Vamos renderizar textos com os seguintes parâmetros de font-style:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font-style: | normal; | italic; | oblique; |
Sintaxe:
1// texto 1
2.text1 {
3 font-style: normal;
4}
5// texto 2
6.text2 {
7 font-style: italic;
8}
9// texto 3
10.text3 {
11 font-style: oblique;
12}O resultado será este:

Você pode notar que os resultados para italic e oblique parecem iguais. Isso ocorre porque o valor oblique funciona plenamente apenas quando a fonte possui uma variação oblíqua específica; caso contrário, o navegador pode aplicar uma inclinação simulada semlhante ao itálico.
Tamanho da fonte CSS (font-size)
Esta propriedade define a altura dos glifos da fonte.
A propriedade font-size é herdada.
O font-size aceita os seguintes valores:
- Tamanho absoluto: Pode ser
xx-small,x-small,small,medium,large,x-largeouxx-large. O valor padrão émedium. - Tamanho relativo: Comparado ao tamanho do elemento pai. Pode ser
smalleroularger. - Unidades de medida: Definidas em pixels (
px) ou Ems (em). Oemé uma unidade escalável; 1em equivale ao tamanho da fonte atual. Se a fonte do documento for 14pt, 1em será 14pt. - Porcentagem (%): Valor calculado em relação à fonte do elemento pai.
- Largura da viewport (vw): Permite que a fonte acompanhe o tamanho da janela do navegador. 1vw = 1% da largura da viewport.
initial: Define o valor padrão.inherit: Herda o valor do elemento pai.
Exemplo de uso:
No exemplo abaixo, os seguintes parâmetros são definidos:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font-size: | 7vw; | 70px; | 2em; |
Sintaxe:
1// texto 1
2.text1 {
3 font-size: 7vw;
4}
5// texto 2
6.text2 {
7 font-size: 70px;
8}
9// texto 3
10.text3 {
11 font-size: 2em;
12}Resultado:

Propriedade abreviada CSS (font)
A propriedade CSS font é usada para tornar o código mais curto, permitindo definir várias propriedades relacionadas à fonte em uma única linha. As propriedades que podem ser especificadas são:
font-style, font-variant, font-weight, font-stretch, font-size/line-height e font-family. Valores de font-variant como normal ou small-caps também podem ser incluídos. Para mais detalhes sobre small-caps, consulte o parágrafo
Variante de fonte no artigo
O que é fonte?.
Exemplo de uso:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font: | 6vw Arial; | 60pt Courier, monospace; | - |
Sintaxe:
1// texto 1
2.text1 {
3 font: 6vw Arial;
4}
5// texto 2
6.text2 {
7 font: 60pt Courier, monospace;
8}
9// texto 3
10.text3 {
11}O resultado está na imagem abaixo. Como não definimos valores para o terceiro texto, ele foi renderizado com os parâmetros padrão.

Síntese de fonte CSS (font-synthesis)
Esta propriedade define se os navegadores têm permissão para sintetizar estilos de negrito ou oblíquo caso eles estejam ausentes na família de fontes. Se font-weight ou font-style não estiverem presentes no arquivo da fonte, o navegador pode “simulá-los” a menos que esta propriedade proíba.
A propriedade font-synthesis é herdada.
Valores aceitos:
none: Proíbe a síntese.weighte/oustyle: As propriedades indicadas podem ser sintetizadas.initial: Define o valor padrão.inherit: Herda o valor do elemento pai.
Exemplo de uso:
| Propriedade | Valor para texto 1 | Valor para texto 2 | Valor para texto 3 |
|---|---|---|---|
font-synthesis: | weight; | style; | none; |
font-weight: | 900; | - | 900; |
font-style: | - | oblique; | oblique; |
Sintaxe:
1// texto 1
2.text1 {
3 font-synthesis: weight;
4 font-weight: 900;
5}
6// texto 2
7.text2 {
8 font-synthesis: style;
9 font-style: oblique;
10}
11// texto 3
12.text3 {
13 font-synthesis: none;
14 font-weight: 900;
15 font-style: oblique;
16}O resultado será renderizado conforme mostrado abaixo. Como definimos none para o terceiro texto, o navegador não sintetizou os estilos solicitados.

Pilhas de fontes (Font Stacks)
Pilhas de fontes (font-stacks) referem-se a uma lista de fontes definida no CSS usada como opções de reserva (fallbacks) caso uma fonte específica falhe ou esteja ausente no dispositivo do usuário. Elas garantem que designers possam manter a consistência tipográfica em diferentes plataformas e navegadores.
Para especificar famílias de fontes, é comum definir uma pilha de fontes listando várias delas em ordem de preferência. Se a primeira não estiver disponível, o navegador tenta a próxima, e assim por diante.
Veja um exemplo: aqui a fonte preferencial é “Helvetica Neue”. Se ela não estiver disponível, o navegador tentará “Arial”. Se “Arial” também falhar, o navegador usará a fonte genérica sans-serif.
1 font-family: "Helvetica Neue", Arial, sans-serif;Especificar uma família genérica (sans-serif, serif ou monospace) como a última opção da pilha é considerada uma boa prática, garantindo que o navegador sempre tenha uma alternativa adequada.
Fontes seguras para a Web (Web-safe fonts)
Fontes seguras para a Web, também conhecidas como fontes de sistema ou padrão, são uma coleção de fontes geralmente disponíveis em diversos sistemas operacionais e dispositivos. Elas são consideradas seguras para design web por serem amplamente suportadas.
Nos primórdios do desenvolvimento web, as opções eram limitadas e os designers dependiam de um conjunto central de fontes instaladas na maioria dos computadores.
Exemplos de fontes seguras:
- Arial
- Helvetica
- Times New Roman
- Georgia
- Courier New
- Verdana
- Tahoma
- Trebuchet MS
No entanto, com o avanço tecnológico e o uso de fontes personalizadas (Google Fonts, Adobe Fonts, etc.), a dependência de fontes seguras diminuiu, oferecendo mais flexibilidade visual aos designers.
Como usar fontes externas no CSS?
Para usar fontes externas, você utiliza a regra @font-face. Ela permite especificar uma fonte personalizada e torná-la acessível em sua página. Veja como fazer:
Obtenha os arquivos da fonte:
- Encontre os arquivos nos formatos desejados, como
WOFF,WOFF2,TTFouEOT. - Você pode obtê-los em serviços como Google Fonts ou baixá-los de fontes confiáveis.
- Encontre os arquivos nos formatos desejados, como
Carregue os arquivos:
- Faça o upload para o seu servidor web ou uma pasta do seu projeto.
Defina a regra @font-face:
- No seu arquivo CSS, especifique o nome da família e o caminho para os arquivos, incluindo múltiplos formatos para suporte a diferentes navegadores.
Exemplo:
1 @font-face {
2 font-family: 'MinhaFontePersonalizada';
3 src: url('caminho/minha-fonte.woff2') format('woff2'),
4 url('caminho/minha-fonte.woff') format('woff');
5 /* Adicione outros formatos se disponíveis */
6 }- Aplique a fonte:
- Após definir
@font-face, você pode usar o nome escolhido na propriedadefont-family. Se a fonte personalizada falhar, o navegador usará a alternativa genérica.
- Após definir
1 body {
2 font-family: 'MinhaFontePersonalizada', sans-serif;
3 }- Teste e verifique em diferentes navegadores e dispositivos.
Algumas palavras sobre tipografia responsiva
A tipografia responsiva é a prática de projetar e implementar a tipografia de um site para que ela se adapte a diferentes tamanhos de tela e dispositivos. Isso envolve ajustar fatores como tamanho da fonte, comprimento da linha e espaçamento.
Aspectos fundamentais:
- Unidades relativas: Em vez de tamanhos fixos, usa-se porcentagens,
emsouremspara escalar o texto proporcionalmente. - Media Queries: Permitem a adaptação dos estilos de fonte com base em larguras específicas de tela.
- Unidades de Viewport: Como
vwevh, que dimensionam fontes em relação às dimensões da janela do navegador. - Comprimento de linha e legibilidade: Ajustar o número de caracteres por linha e o espaçamento vertical (
line-height) para evitar textos apertados ou muito espaçados. - Hierarquia clara: Garantir que títulos e texto de corpo sejam bem diferenciados em telas pequenas.
- Acessibilidade: Considerar o contraste entre texto e fundo e permitir ajustes flexíveis de tamanho.
Conclusão
As propriedades de fonte CSS são blocos fundamentais no desenvolvimento de interfaces. Como a maior parte do conteúdo web é textual, dominar essas propriedades é essencial para garantir uma aparência de alta qualidade, boa legibilidade e escalabilidade.
Algumas propriedades funcionam facilmente com qualquer fonte, mas outras exigem fontes que suportem variações específicas. Por exemplo, a fonte Inconsolata possui 8 variações de peso, enquanto outras podem ter apenas normal e bold.
Se você precisa de uma fonte mas não a tem instalada, pode tentar encontrá-la e baixá-la usando aplicativos gratuitos da Aspose. Além disso, o Font Viewer fornece informações técnicas detalhadas que podem ser úteis durante o seu desenvolvimento.