Павел Ловцевич, LOVATA Group
Цель — лучший пользовательский опыт на любых устройствах.
Визуальная эстетика, удобство использования, время загрузки, оптимальная скорость работы.
Принцип — единый интерфейс пользователя с автонастройкой на контрольных точках.
Количество колонок, позиции блоков, размеры контента, поведение интерактивных элементов.
«В каких случаях это может быть нужно для картинок в <img>? Как правило, элемент <img> служит для картинок в контенте, где обычно не нужно ничего адаптировать.»
<picture alt="angry pirate">
<source src="hires.png" media="min-width:800px">
<source src="midres.png" media="network-speed:3g">
<source src="lores.png">
<!-- fallback for browsers without support -->
<img src="midres.png" alt="angry pirate">
</picture>
<picture alt="angry pirate">
<source src="hires.png" media="min-width:800px">
<source src="midres.png" media="network-speed:3g">
<source src="lores.png">
<!-- fallback for browsers without support -->
<img src="midres.png" alt="angry pirate">
</picture>
<picture alt="angry pirate">
<source src="hires.png" media="min-width:800px">
<source src="midres.png" media="network-speed:3g">
<source src="lores.png">
<!-- fallback for browsers without support -->
<img src="midres.png" alt="angry pirate">
</picture>
<picture alt="angry pirate">
<source src="hires.png" media="min-width:800px">
<source src="midres.png" media="network-speed:3g">
<source src="lores.png">
<!-- fallback for browsers without support -->
<img src="midres.png" alt="angry pirate">
</picture>
<img alt="image description"
src="/path/to/fallbackimage.png"
srcset="/path/to/image.png 800w,
/path/to/otherimage.png 600w">
<img alt="image description"
src="/path/to/fallbackimage.png"
srcset="/path/to/image.png 800w,
/path/to/otherimage.png 600w">
<img alt="image description"
src="/path/to/fallbackimage.png"
srcset="/path/to/image.png 800w,
/path/to/otherimage.png 600w">
<img alt="image description"
src="/path/to/fallbackimage.png"
srcset="/path/to/image.png 800w,
/path/to/otherimage.png 600w">
<picture>
<source media="(orientation:landscape)" srcset="long.jpg 1x, long2.jpg 2x">
<source media="(orientation:portrait)" srcset="tall.jpg 1x, tall2.jpg 2x">
<img src="fallback.jpg">
</picture>
<picture>
<source media="(orientation:landscape)" srcset="long.jpg 1x, long2.jpg 2x">
<source media="(orientation:portrait)" srcset="tall.jpg 1x, tall2.jpg 2x">
<img src="fallback.jpg">
</picture>
<picture>
<source media="(orientation:landscape)" srcset="long.jpg 1x, long2.jpg 2x">
<source media="(orientation:portrait)" srcset="tall.jpg 1x, tall2.jpg 2x">
<img src="fallback.jpg">
</picture>
<picture>
<source media="(orientation:landscape)" srcset="long.jpg 1x, long2.jpg 2x">
<source media="(orientation:portrait)" srcset="tall.jpg 1x, tall2.jpg 2x">
<img src="fallback.jpg">
</picture>
<picture>
<source media="(orientation:landscape)" srcset="long.jpg 1x, long2.jpg 2x">
<source media="(orientation:portrait)" srcset="tall.jpg 1x, tall2.jpg 2x">
<img src="fallback.jpg">
</picture>
<head>
<meta name="case" data="breakpoint1" media="min-width:350px" />
<meta name="case" data="breakpoint2" media="min-width:1000px" />
</head>
<body>
<img src="/content/images/{case}/photo.jpg" alt='' />
</body>
<head>
<meta name="case" data="breakpoint1" media="min-width:350px" />
<meta name="case" data="breakpoint2" media="min-width:1000px" />
</head>
<body>
<img src="/content/images/{case}/photo.jpg" alt='' />
</body>
<head>
<meta name="case" data="breakpoint1" media="min-width:350px" />
<meta name="case" data="breakpoint2" media="min-width:1000px" />
</head>
<body>
<img src="/content/images/{case}/photo.jpg" alt='' />
</body>
«Доставка небольших изображений для небольших устройств.»
Павел Ловцевич, LOVATA Group