Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Responsive Images using <picture> and srcset/sizes
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Matt Steele
July 02, 2014
Programming
1
1.4k
Responsive Images using <picture> and srcset/sizes
Matt Steele
July 02, 2014
Tweet
Share
More Decks by Matt Steele
See All by Matt Steele
Upgrading to Angular 2 using ngUpgrade
mattdsteele
0
1.1k
Reactive Programming with RxJS
mattdsteele
0
110
GET TO THE CHOPVAR
mattdsteele
0
180
Using Source Maps in 2015
mattdsteele
0
970
The Decorator Pattern
mattdsteele
0
78
Diving Into the Device API
mattdsteele
1
810
Unit Testing JavaScript when you're Afraid of JavaScript
mattdsteele
3
760
What Zelda Taught Me about Front End Engineering
mattdsteele
5
1.1k
Other Decks in Programming
See All in Programming
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
270
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
500
CSC307 Lecture 12
javiergs
PRO
0
450
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
810
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
7
1.2k
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
110
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
2.9k
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
200
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
360
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
200
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
290
ふん…おもしれぇ Parser。RubyKaigi 行ってやるぜ
aki_pin0
0
120
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Designing Powerful Visuals for Engaging Learning
tmiket
0
250
Writing Fast Ruby
sferik
630
62k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Speed Design
sergeychernyshev
33
1.6k
Done Done
chrislema
186
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
We Have a Design System, Now What?
morganepeng
55
8k
Faster Mobile Websites
deanohume
310
31k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
230
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Transcript
Responsive Images @mattdsteele
THIS IS WHY YOU’RE FAT
We’ve put on a little weight.
http://httparchive.org/trends.php#bytesTotal&reqTotal
http://httparchive.org/trends.php#bytesTotal&reqTotal Total Page Weight File Size (KB) 1400 1550 1700
1850 July August September October NovemberDecember January February March April May June
http://httparchive.org/trends.php#bytesTotal&reqTotal Total Page Weight File Size (KB) 1400 1550 1700
1850 July August September October NovemberDecember January February March April May June 1485kb 1521kb 1551kb 1590kb 1614kb 1701kb 1681kb 1710kb 1728kb 1762kb 1775kb 1808kb
http://httparchive.org/interesting.php Bytes Per Page by Content Type
http://httparchive.org/interesting.php Images Bytes Per Page by Content Type
http://httparchive.org/interesting.php HTML Other Flash Stylesheets Scripts Images Bytes Per Page
by Content Type
RETINA- POCALYPSE
None
iPhone 3GS
320x480 iPhone 3GS
320x480 iPhone 3GS iPhone 4
320x480 640x960 (2x) iPhone 3GS iPhone 4
HTC One
1920x1080 (3x) HTC One
“Let’s make it responsive!”
Nexus 10
2560x1600 (2x) Nexus 10
2880x1800 (1.6x) MacBook Pro with Retina Display
None
None
None
320x213 41kb
320x213 41kb
320x213 41kb 640x425 137kb
None
1280x852 400kb
72% Responsive sites serve the same content to desktop &
mobile http://www.guypo.com/uncategorized/real-world-rwd-performance-take-2/
Ugh.
Shortcut: <SVG>
<img src="logo.svg">
9+ SVG
Grunticon github.com/filamentgroup/grunticon
"Vectors are for chumps. I need bitmaps."
None
<picture>
<picture> <img src="fallback.png"> </picture>
<picture> <source media="(min-width: 1000px)" srcset="large.png"> <source media="(min-width: 640px)" srcset="medium.png"> <img
src="fallback.png"> </picture>
<picture> <source media="(min-width: 1000px)" srcset="large.webp" type="image/webp"> <source media="(min-width: 1000px)" srcset="large.png">
<source media="(min-width: 640px)" srcset="medium.png"> <img src="fallback.png"> </picture>
None
None
None
Art Direction
<picture> 38 33 Under Consideration
None
None
Screen Size ⊆ What You Need
None
Viewport Size
Viewport Size Screen Density
Viewport Size Rendered Size Screen Density
Viewport Size Rendered Size Screen Density Image Dimensions
Viewport Size Rendered Size Screen Density Image Dimensions Browser knows?
Viewport Size Rendered Size Screen Density Image Dimensions Browser knows?
✓
Viewport Size Rendered Size Screen Density Image Dimensions Browser knows?
✓ ✓
Viewport Size Rendered Size Screen Density Image Dimensions Browser knows?
✓ ✓ ✗
Viewport Size Rendered Size Screen Density Image Dimensions Browser knows?
✓ ✓ ✗ ✗
Viewport Size Rendered Size Screen Density Image Dimensions
Viewport Size Rendered Size Screen Density Image Dimensions Author knows?
Viewport Size Rendered Size Screen Density Image Dimensions Author knows?
✗ ✗ ✓ ✓
srcset & sizes
Image dimensions srcset="large.jpg 1200w, medium.jpg 640w, small.jpg 320w"
Image dimensions URL srcset="large.jpg 1200w, medium.jpg 640w, small.jpg 320w"
Image dimensions Width URL srcset="large.jpg 1200w, medium.jpg 640w, small.jpg 320w"
Rendered Size sizes="(min-width: 1024px) 300px, (min-width: 640px) 50vw, 100vw"
Rendered Size For this MQ: sizes="(min-width: 1024px) 300px, (min-width: 640px)
50vw, 100vw"
Rendered Size For this MQ: Image renders this big sizes="(min-width:
1024px) 300px, (min-width: 640px) 50vw, 100vw"
Rendered Size For this MQ: Image renders this big Default
sizes="(min-width: 1024px) 300px, (min-width: 640px) 50vw, 100vw"
<img src="small.jpg" alt="A responsive image" srcset="large.jpg 1200w, medium.jpg 640w, small.jpg
320w" sizes="(min-width: 1024px) 300px, (min-width: 640px) 50vw, 100vw">
Screen Densities
Configurable
Configurable •HD Mode
Configurable •HD Mode •Speed Mode
Configurable •HD Mode •Speed Mode •Crappy Network Mode
srcset 32 Under Consideration
Fallbacks built-in
Or: Picturefill http://scottjehl.github.io/picturefill/
Go Forth And Get Skinny
@mattdsteele flic.kr/p/7TH4dc