Skip to main content

HTML Guide

Bad value “100%” for attribute “height” on element “img”: Expected a digit but saw “%” instead.

The W3C HTML Validator issue you encountered indicates that the value of the height attribute for an <img> element is set to “100%”, which is not allowed in HTML. The height attribute must be a specific digit that represents the height in pixels (e.g., “150”), rather than a percentage or any other unit.

How to Fix the Issue

To resolve this issue, you need to specify a numeric value for the height attribute instead. If you want the image to occupy a certain percentage of the container, use CSS instead of the height attribute.

Example of Incorrect HTML

Here is an example that causes the validation issue:

<img src="image.jpg" height="100%" alt="Example Image">

Corrected HTML Using Pixel Values

To correct the issue, replace the percentage with a pixel value:

<img src="image.jpg" height="200" alt="Example Image">

Alternative: Using CSS for Responsive Design

If you want the image to scale responsively and occupy 100% of the width of its container, consider using CSS:

<style>
  .responsive-img {
      width: 100%;
      height: auto; /* Maintains aspect ratio */
  }
</style>

<img src="image.jpg" class="responsive-img" alt="Example Image">

Summary

  • Do not use percentage values for the height attribute of <img> tags.
  • Use pixel values for fixed dimensions.
  • For responsive design, use CSS to set the dimensions instead.

Learn more:

Related W3C validator issues