O elementu picture v Ostravě

Robin Pokorny
Robin PokornySoftware Engineer at Klarna
{ 
{Frontendisti.cz} @robinpokorny
foto.jpg 3264 × 2448
<img src="foto.jpg" />
<img src="foto.jpg" width="1024" />
1024 
foto-1024.jpg 1024 × 768
<img src=“foto-1024.jpg" />
O elementu picture v Ostravě
<img src=“foto-1920.jpg” class=“on-hd” /> 
<img src=“foto-1024.jpg” class=“on-lg” /> 
<img src=“foto-640.jpg” class=“on-sm” /> 
<img src=“foto-320.jpg” class=“on-xs” />
img { width: 100% }; 
! 
.on-lg { display: none; } 
! 
… 
! 
@media (min-width: 1400px) { 
.on-lg { display: block; } 
}
O elementu picture v Ostravě
Velikost obrazovky 
Velikost obrázku na stránce 
Jemnost displeje 
Fyzické rozměry obrázku 
vývojář
Velikost obrazovky 
Velikost obrázku na stránce 
Jemnost displeje 
Fyzické rozměry obrázku 
sizes 
srcset
<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” />
<picture> ?
O elementu picture v Ostravě
<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
O elementu picture v Ostravě
@robinpokorny 
robinpokorny.com
@robinpokorny 
robinpokorny.com 
Trenér Mega Charizarda X 
Nabízí Charmandera za Bulbasaura 
pokebal.png 300w
1 of 27

Recommended

Jak nám responzivní web rozbil obrázky by
Jak nám responzivní web rozbil obrázkyJak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyRobin Pokorny
4.6K views20 slides
Responzivní obrázky v praxi by
Responzivní obrázky v praxiResponzivní obrázky v praxi
Responzivní obrázky v praxiMartin Michálek
3.9K views24 slides
Optimalizace obrázků v (responsivních) šablonách by
Optimalizace obrázků v (responsivních) šablonáchOptimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchSUPERKODERS
1.4K views48 slides
Optimalizace výkonu webových aplikací by
Optimalizace výkonu webových aplikacíOptimalizace výkonu webových aplikací
Optimalizace výkonu webových aplikacíMichal Špaček
1.7K views45 slides
React, když odezní zamilovanost by
React, když odezní zamilovanostReact, když odezní zamilovanost
React, když odezní zamilovanostRobin Pokorny
1.3K views21 slides
React a CSS by
React a CSSReact a CSS
React a CSSRobin Pokorny
1.6K views23 slides

More Related Content

More from Robin Pokorny

15 months of AMP by
15 months of AMP15 months of AMP
15 months of AMPRobin Pokorny
349 views18 slides
Co musí umět moderní „HTML kodér“ by
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
1.2K views22 slides
Pokročilé responzivní obrázky by
Pokročilé responzivní obrázkyPokročilé responzivní obrázky
Pokročilé responzivní obrázkyRobin Pokorny
4.4K views45 slides
Organizace kódu v týmu by
Organizace kódu v týmuOrganizace kódu v týmu
Organizace kódu v týmuRobin Pokorny
1.2K views10 slides
How to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty by
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
1.8K views47 slides
Thesis defendence presentation by
Thesis defendence presentationThesis defendence presentation
Thesis defendence presentationRobin Pokorny
375 views20 slides

More from Robin Pokorny(8)

Co musí umět moderní „HTML kodér“ by Robin 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“
Robin Pokorny1.2K views
Pokročilé responzivní obrázky by Robin Pokorny
Pokročilé responzivní obrázkyPokročilé responzivní obrázky
Pokročilé responzivní obrázky
Robin Pokorny4.4K views
Organizace kódu v týmu by Robin Pokorny
Organizace kódu v týmuOrganizace kódu v týmu
Organizace kódu v týmu
Robin Pokorny1.2K views
How to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty by Robin Pokorny
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
Robin Pokorny1.8K views
Thesis defendence presentation by Robin Pokorny
Thesis defendence presentationThesis defendence presentation
Thesis defendence presentation
Robin Pokorny375 views
Tancuj, tancuj, konverguj by Robin Pokorny
Tancuj, tancuj, konvergujTancuj, tancuj, konverguj
Tancuj, tancuj, konverguj
Robin Pokorny603 views

O elementu picture v Ostravě