Skip to main content

Implementing Responsive Images in Web Design

Responsive images ensure that your images look great on all devices and screen sizes, without slowing down your site's performance. In this tutorial, you will learn how to create responsive images using CSS and the HTML5 picture element, with sample code and simple explanations.

Flexible Images with CSS

To make images responsive, set their maximum width to 100% and height to auto.


img {
max-width: 100%;
height: auto;

The HTML5 Picture Element

The picture element allows you to define multiple image sources for different device sizes and resolutions. This means that the browser can load the most appropriate image based on the device's screen size and resolution, ensuring better performance.


<source srcset="large-image.jpg" media="(min-width: 1200px)" />
<source srcset="medium-image.jpg" media="(min-width: 768px)" />
<source srcset="small-image.jpg" media="(min-width: 480px)" />
<img src="default-image.jpg" alt="An example image" />

The Srcset and Sizes Attributes

You can also use the srcset and sizes attributes on the img element to specify different image sources and sizes for different device resolutions.


alt="An example image"
srcset="small-image.jpg 480w, medium-image.jpg 768w, large-image.jpg 1200w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 50vw, 25vw"


By using CSS and the HTML5 picture element to create responsive images, you can ensure that your images look great on all devices and screen sizes while improving your site's performance. This provides an optimal user experience for all visitors, regardless of their device or screen size.