Skip to content

Instantly share code, notes, and snippets.

@necolas
Created May 18, 2011 13:33
  • Star 35 You must be signed in to star a gist
  • Fork 19 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save necolas/978570 to your computer and use it in GitHub Desktop.
Idea for CSS-only responsive images using CSS3 generated content and attr() function. No browser implementation as of May 2011
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS responsive images</title>
<style>
/* Doesn't stop original source image being
downloaded too */
@media (min-device-width:600px) {
img[data-src-600px] {
content: attr(data-src-600px, url);
}
}
@media (min-device-width:800px) {
img[data-src-800px] {
content: attr(data-src-800px, url);
}
}
</style>
</head>
<body>
<img src="image.jpg"
data-src-600px="image-600px.jpg"
data-src-800px="image-800px.jpg"
alt="">
</body>
</html>
@hcarvalhoalves
Copy link

Clever. I wonder if a better attribute could be used instead of "data-src-600px", or maybe an alternative markup that makes clear what is delivered to what media size.

@necolas
Copy link
Author

necolas commented May 19, 2011

You could use whatever data-* attribute you find best.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment