A responsive image polyfill.
- Authors: See Authors.txt
- License: MIT
Picturefill has three versions:
- Version 1 mimics the Picture element pattern with
span
elements. It is no longer maintained. - Version 2 is a lightweight polyfill of the Picture element draft specification.
- Version 3.0.3 is the current stable release.
To find out how to use Picturefill, visit the project site.
Be it browser issues, the responsive images specifications, or Picturefill itself, there are a couple gotchas you should be aware of when working with Picturefill:
-
Firefox 38 and 39 has some bugs [1] [2] [3] where images won't update on screen resize. These issues are addressed by Picturefill 3.0.0, and was fixed in Firefox 41.
-
Per the
picture
spec, using%
isn't allowed in thesizes
attribute. Using%
will fallback to100vw
. -
Trying to use the
src
attribute in a browser that doesn't supportpicture
natively can result in a double download. To avoid this, don't use thesrc
attribute on theimg
tag:
<picture>
<source srcset="../img/sample.svg" media="(min-width: 768px)" />
<img srcset="default.png" alt="Sample pic" />
</picture>
- If you only want to have an image show up at certain sizes, and not show up at others, you will need to use a transparent placeholder gif:
<picture>
<source srcset="../img/sample.svg" media="(min-width: 768px)" />
<img srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
alt="Sample pic" />
</picture>
For information on how to contribute code to Picturefill, check out CONTRIBUTING.md
If you find a bug in Picturefill, please add it to the issue tracker
Picturefill discussion takes place via Slack. For an invitation, visit https://pf-slackin.herokuapp.com/
There are currently no known unsupported browsers, provided that you use the markup patterns provided.