Skip to main content
Validação HTML

Valor incorreto X para o atributo “(width | height)” no elemento “img”: Era esperado um dígito mas foi encontrado “.” em vez disso.

Sobre este problema HTML

De acordo com a especificação HTML, os atributos width e height nos elementos img aceitam apenas números inteiros não negativos válidos. Um número inteiro não negativo válido consiste numa ou mais cifras ASCII (09) sem outros caracteres — sem pontos decimais, sem espaços, sem unidades como px. Quando o validador encontra um valor como 602.88, analisa os dígitos 602 com sucesso, depois encontra o caractere . onde espera outro dígito ou o final do valor, desencadeando o erro.

Este problema surge frequentemente quando os valores das dimensões são gerados programaticamente — por exemplo, quando um CMS, ferramenta de processamento de imagens, ou cálculo JavaScript produz números de vírgula flutuante e os apresenta diretamente no HTML. Também pode acontecer quando se copiam valores de dimensões do CSS ou de ferramentas de design que trabalham em unidades sub-pixel.

Por que isto é importante

  • Conformidade com os padrões: A especificação HTML é explícita em que estes atributos aceitam valores inteiros. Usar decimais produz marcação inválida.
  • Renderização imprevisível: Os navegadores podem lidar com o valor malformado de diferentes maneiras — alguns podem truncar no ponto decimal, outros podem ignorar completamente o atributo. Isto pode levar a mudanças de layout ou imagens com tamanhos incorretos.
  • Estabilidade do layout: Os atributos width e height são usados pelos navegadores para calcular a proporção de aspeto de uma imagem antes de ela carregar, o que ajuda a prevenir o Cumulative Layout Shift (CLS). Valores inválidos podem comprometer este comportamento, causando saltos no conteúdo à medida que as imagens carregam.

Como corrigir

  1. Arredonde para o número inteiro mais próximo. Se o seu valor é 602.88, arredonde-o para 603. Se é 800.2, arredonde para 800.
  2. Remova o ponto decimal completamente. O valor deve conter apenas dígitos.
  3. Não inclua unidades. Valores como 800px também são inválidos; use apenas 800.
  4. Corrija a origem dos valores. Se o seu CMS ou ferramenta de construção gera estes atributos, atualize a lógica para produzir números inteiros (por exemplo, usando Math.round() em JavaScript ou round() em PHP/Python).

Exemplos

❌ Incorreto: valores decimais em width e height

<img src="photo.jpg" alt="A golden retriever" height="602.88" width="800.2">

O validador reporta erros para ambos os atributos porque . não é um caractere válido num número inteiro não negativo.

✅ Correto: valores de números inteiros

<img src="photo.jpg" alt="A golden retriever" height="603" width="800">

Ambos os valores são números inteiros não negativos válidos sem pontos decimais.

❌ Incorreto: ponto decimal final sem parte fracionária

<img src="banner.png" alt="Sale banner" width="1200." height="400.">

Mesmo um . final sem nada depois é inválido — o analisador ainda encontra um caractere inesperado.

✅ Correto: valores inteiros limpos

<img src="banner.png" alt="Sale banner" width="1200" height="400">

Usar CSS para precisão sub-pixel

Se você genuinamente precisar de dimensionamento sub-pixel (o que é raro para imagens), use CSS em vez de atributos HTML. As propriedades CSS width e height aceitam valores decimais:

<img src="icon.svg" alt="Settings icon" style="width: 24.5px; height: 24.5px;">

No entanto, tenha em mente que deve ainda fornecer atributos HTML width e height inteiros para dicas de proporção de aspeto, e depois sobrepor com CSS se a precisão sub-pixel for necessária:

<img
  src="icon.svg"
  alt="Settings icon"
  width="25"
  height="25"
  style="width: 24.5px; height: 24.5px;">

Esta abordagem dá-lhe HTML válido, dicas adequadas de proporção de aspeto para estabilidade do layout, e o dimensionamento preciso de que precisa.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.