Sobre este problema HTML
A propriedade font-size define o tamanho do texto em CSS e aceita um conjunto específico de tipos de valores. Quando o validador W3C reporta que um valor “não é um valor font-size“, significa que o valor que você forneceu não corresponde a nenhum dos formatos aceites. Os navegadores podem tentar ignorar ou adivinhar o que você quis dizer, mas isto leva a uma renderização imprevisível em diferentes navegadores e dispositivos.
Este erro ocorre comummente por algumas razões:
-
Unidades em falta em valores numéricos. Escrever
font-size: 16em vez defont-size: 16px. Em CSS, números sem unidade (além de0) não são comprimentos válidos. -
Erros tipográficos em unidades ou palavras-chave. Por exemplo,
font-size: 16xp,font-size: 1.2erm, oufont-size: lage. -
Usar valores da propriedade errada. Por exemplo,
font-size: bold(que pertence afont-weight) oufont-size: center. -
Sintaxe inválida ou não suportada. Por exemplo,
font-size: 16 px(com um espaço entre o número e a unidade) oufont-size: auto(que não é válido para esta propriedade).
Tipos de valores font-size válidos
| Tipo | Exemplos | Notas |
|---|---|---|
| Palavras-chave absolutas |
xx-small, x-small, small, medium, large, x-large, xx-large, xxx-large |
Tamanhos definidos pelo navegador |
| Palavras-chave relativas |
smaller, larger |
Relativo ao tamanho da fonte do elemento pai |
| Unidades de comprimento |
16px, 1.2em, 0.9rem, 12pt, 1vw |
Devem incluir uma unidade (exceto 0) |
| Percentagens |
100%, 120%, 80% |
Relativo ao tamanho da fonte do elemento pai |
| Funções matemáticas |
calc(1rem + 2px), clamp(1rem, 2vw, 3rem) |
Expressões matemáticas CSS que resolvem para um comprimento |
Exemplos
Incorreto: unidade em falta num número
<p style="font-size: 16;">Isto desencadeia um erro de validação.</p>
O valor 16 não é válido porque carece de uma unidade CSS. Os navegadores podem ignorar completamente esta declaração, deixando o texto no seu tamanho predefinido ou herdado.
Correto: número com uma unidade válida
<p style="font-size: 16px;">Este texto tem um tamanho de fonte válido.</p>
Incorreto: erro tipográfico na unidade
<p style="font-size: 1.2erm;">Erro tipográfico na unidade.</p>
Correto: unidade em adequada
<p style="font-size: 1.2em;">Unidade em correta.</p>
Incorreto: valor da propriedade errada
<p style="font-size: bold;">Bold não é um valor font-size.</p>
Correto: usar uma palavra-chave válida
<p style="font-size: large;">Usar uma palavra-chave de tamanho válida.</p>
Incorreto: espaço entre número e unidade
<p style="font-size: 16 px;">Espaço antes da unidade é inválido.</p>
Correto: sem espaço entre número e unidade
<p style="font-size: 16px;">Sem espaço entre número e unidade.</p>
Exemplo de documento completo
<!DOCTYPE html>
<html lang="en">
<head>
<title>Font Size Example</title>
<style>
.heading {
font-size: 2rem;
}
.body-text {
font-size: 1em;
}
.small-print {
font-size: 80%;
}
.responsive {
font-size: clamp(1rem, 2.5vw, 2rem);
}
</style>
</head>
<body>
<h1 class="heading">Valid heading size</h1>
<p class="body-text">Body text at 1em.</p>
<p class="small-print">Small print at 80%.</p>
<p class="responsive">Responsive text using clamp().</p>
</body>
</html>
Para resolver este erro de validação, revise cada declaração font-size no seu CSS ou estilos inline. Certifique-se de que cada valor é uma palavra-chave reconhecida, um número imediatamente seguido de uma unidade válida, uma percentagem, ou uma função CSS suportada como calc(). Se pretendia 0, esse é o único valor numérico que não requer uma unidade — font-size: 0 é válido, embora raramente útil na prática.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.