The srcset attribute is a small instruction attached to an HTML element. Its job is to alternative image candidates of different sizes/densities. It is easier to remember when you can see it in a real piece of markup.
What srcset is used for
Alternative image candidates of different sizes/densities. The attribute appears inside an element’s opening tag. Depending on its definition, it may take a specific string, a number, an enumerated keyword, or be a boolean attribute.
The example below uses it in a img context. Other elements may support it too, or may give the same attribute a different meaning.
Example you can try
<figure>
<img src="photo.jpg" alt="A sunny mountain trail" width="600" height="400" sizes="(max-width: 600px) 100vw, 600px" srcset="small.jpg 480w, large.jpg 960w">
<figcaption>Mountain trail</figcaption>
</figure>
How the example works
Look for srcset in the snippet. Here the example shows the value small.jpg 480w, large.jpg 960w. This is a concrete input the browser can interpret; it is not just text shown to the reader.
The browser may choose a different candidate based on pixel density, viewport, caching, and its own heuristics.
Values and important behavior
Use the value format shown by the HTML definition. Do not assume that a value accepted in one attribute also works in another. When a browser ignores an invalid value, inspect the element and correct the markup.
This detail matters most when the page receives user input, navigates to another document, or loads an external resource. In those cases, check the browser behavior and any server-side requirements separately.
Small practice task
Copy the code and change srcset to another sensible value, or remove it entirely if it is optional. Test the difference in the browser and inspect any submitted value or network request.
Common Beginner Mistakes
- The browser may choose a different candidate based on pixel density, viewport, caching, and its own heuristics.
- Using
srcseton an element that does not support it. - Believing that an HTML hint or client-side check replaces real server validation or a security policy.
Key Takeaways
srcsetis used to alternative image candidates of different sizes/densities.- The browser may choose a different candidate based on pixel density, viewport, caching, and its own heuristics.
- Choose valid values and test the result instead of guessing what the browser will do.