SlideShare a Scribd company logo
1 of 45
Download to read offline
Pokročilé responzivní obrázky 
You are challenged by prof. @robinpokorny
Breakthrough Internet Device
http://httparchive.org/interesting.php?a=All&l=Nov%201%202014
http://usecases.responsiveimages.org/ 
(zdroje následujících obrázků)
http://usecases.responsiveimages.org/ 
(zdroje následujících obrázků)
Resolution-based selection
Viewport-based selection
Device-pixel-ratio-based selection
Art direction
Design breakpoints
Matching media features and media types
Relative units 
Image formats 
User control over sources
Obraz je jakékoli konečné grafické 
vyjádření ve dvou rozměrech.
Zdroj, také fyzický obrázek, je 
libovolný prvek prostoru 2<ω 
(konečné posloupnosti nul a jedniček), 
který má přiřazen rozměr. 
Zdroj reprezentuje obraz.
Vektor stavu popisuje všechny 
vlastnosti zobrazovacího zařízení 
včetně prostředí. 
Display, okno, prohlížeč, síť…
Autorská představa o vyobrazení 
obrazu je funkce, která je pro daný 
zdroj obrazu a za daného stavu buď 
uspokojena (1) nebo neuspokojena (0).
Úloha responzivních obrázků: 
Buď i obraz a s vektor stavu. 
Nechť Zi je množina zdrojů 
reprezentujích i, dále nechť αi je 
autorská představa o vyobrazení i. 
Najděte zεZi, aby byla uspokojena 
αi pro z a s.
fi: (s, Zi, αi) ↦ zεZi 
že αi(z, s) = 1 
, 
Úloha responzivních obrázků:
Vektor stavu 
Zdroje a jejich rozměry 
Autorská představa
http://www.zdrojak.cz/clanky/adaptivni-obrazky-vyresena-otazka-s-novym-otaznikem/
https://html.spec.whatwg.org/multipage/embedded-content.html
<img src=“foto-320.jpg" />
<img src=“foto-320.jpg” 
srcset=“foto-1920.jpg 1920w, 
foto-1024.jpg 1024w, 
foto-640.jpg 640w, 
foto-320.jpg 320w” 
sizes=“(min-width: 800px) 25vw, 
100vw” />
ericportis.com
srcset=“( [url] [integer]w, )+" 
fyzická šířka v pixelech
srcset=“( [url] [float]x, )+" 
pixel density (0.25x, 0.5x, 1x, 2x, 4x) 
Pozor! Odlišný význam od starší specifikace.
sizes=“( [media query] [length], )* [length]" 
první vyhovující, nebo
sizes=“( [media query] [length], )* [length]" 
px 
em 
vw 
rem 
in 
calc(50vw - 2em)
<img src=“foto-320.jpg” 
srcset=“foto-1920.jpg 1920w, 
foto-1024.jpg 1024w, 
foto-640.jpg 640w, 
foto-320.jpg 320w” 
sizes=“(min-width: 800px) 25vw, 
100vw” />
Art direction
<img class=“on-hd” 
srcset=“charizard-hd.jpg 1920w, …”> 
<img class=“on-lg” 
srcset=“charmeleon-hd.jpg 1680w, …”> 
<img class=“on-sm” 
srcset=“charmander-hd.jpg 800w, …”>
<picture> 
<source media="(min-width: 1200px)" 
srcset=“charizard-hd.jpg 1920w, …”> 
<source media="(min-width: 40em)" 
srcset=“charmeleon-hd.jpg 1680w, …”> 
<img src=“charmander.jpg" 
srcset=“charmander-hd.jpg 800w, …”> 
</picture>
<picture> 
<source media="(min-width: 1200px)" 
musí být poslední 
srcset=“charizard-hd.jpg 1920w, …”> 
<source media="(min-width: 40em)" 
a jiné 
srcset=“charmeleon-hd.jpg 1680w, …”> 
<img src=“charmander.jpg" 
srcset=“charmander-hd.jpg 800w, …”> 
</picture> 
epický fallback 
může mít sizes 
(i v source) 
class zde
Výňatek z algoritmu “select an image source” 
In a user agent-specific manner, choose 
one image source from source set.
fi: (s, Zi, αi) ↦ zεZi 
že αi(z, s) = 1 
, 
Úloha responzivních obrázků:
fi, : (s, Zi, αi) ↦ zεZi 
že αi(z, s) = 1 
, 
Úloha responzivních obrázků:
<img srcset=“foto-3000.jpg 3000w, 
foto-1000.jpg 1000w” 
sizes=“1100px”/>
1000 
1100 
3000 
foto-1000.jpg 
foto-3000.jpg
1000 
1100 
3000 
foto-900.jpg 
foto-3000.jpg 
1732 
√(1000 * 3000) 
2000 
1000 + 3000 
2
"You must really like your <picture> 
and always keep it by your side!" 
@robinpokorny

More Related Content

More from Robin Pokorny

Purifying React (with annotations)
Purifying React (with annotations)Purifying React (with annotations)
Purifying React (with annotations)Robin Pokorny
 
React, když odezní zamilovanost
React, když odezní zamilovanostReact, když odezní zamilovanost
React, když odezní zamilovanostRobin Pokorny
 
React a omyly jazyka CSS
React a omyly jazyka CSSReact a omyly jazyka CSS
React a omyly jazyka CSSRobin Pokorny
 
Co musí umět moderní „HTML kodér“
Co musí umět moderní „HTML kodér“Co musí umět moderní „HTML kodér“
Co musí umět moderní „HTML kodér“Robin Pokorny
 
Jak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyJak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyRobin Pokorny
 
Organizace kódu v týmu
Organizace kódu v týmuOrganizace kódu v týmu
Organizace kódu v týmuRobin Pokorny
 
How to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty
How to Turn Your Ugly Old CSS into a Clean Future-Ready BeautyHow to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty
How to Turn Your Ugly Old CSS into a Clean Future-Ready BeautyRobin Pokorny
 
Thesis defendence presentation
Thesis defendence presentationThesis defendence presentation
Thesis defendence presentationRobin Pokorny
 
Tancuj, tancuj, konverguj
Tancuj, tancuj, konvergujTancuj, tancuj, konverguj
Tancuj, tancuj, konvergujRobin Pokorny
 

More from Robin Pokorny (12)

15 months of AMP
15 months of AMP15 months of AMP
15 months of AMP
 
Purifying React (with annotations)
Purifying React (with annotations)Purifying React (with annotations)
Purifying React (with annotations)
 
React, když odezní zamilovanost
React, když odezní zamilovanostReact, když odezní zamilovanost
React, když odezní zamilovanost
 
React a omyly jazyka CSS
React a omyly jazyka CSSReact a omyly jazyka CSS
React a omyly jazyka CSS
 
React a CSS
React a CSSReact a CSS
React a CSS
 
Co musí umět moderní „HTML kodér“
Co musí umět moderní „HTML kodér“Co musí umět moderní „HTML kodér“
Co musí umět moderní „HTML kodér“
 
Jak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyJak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázky
 
Organizace kódu v týmu
Organizace kódu v týmuOrganizace kódu v týmu
Organizace kódu v týmu
 
How to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty
How to Turn Your Ugly Old CSS into a Clean Future-Ready BeautyHow to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty
How to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty
 
Thesis defendence presentation
Thesis defendence presentationThesis defendence presentation
Thesis defendence presentation
 
Tancuj, tancuj, konverguj
Tancuj, tancuj, konvergujTancuj, tancuj, konverguj
Tancuj, tancuj, konverguj
 
Představení eMAMS
Představení eMAMSPředstavení eMAMS
Představení eMAMS
 

Pokročilé responzivní obrázky