Владимир Кузнецов
Предзагрузка и предварительный рендеринг
if (window.matchMedia("(min-width: 720px)").matches) {
// the view port is at least 720 pixels wide
} else {
// the view port is less than 720 pixels wide
}
var mql = window.matchMedia("(min-width: 720px)");
mql.addListener(function (mediaQueryList) {
// mediaQueryList.matches
// true if the document currently matches
// the media query list; otherwise false
}
Environment.waitForDesktop(function () {
Modernizr.load([
"/styles/desktop.css",
"/scripts/desktop.js"
]);
});
Статья, исходный код и примеры —
noteskeeper.ru/1133
<picture>
<source srcset="examples/images/large.jpg,
examples/images/extralarge.jpg 2x"
media="(min-width: 720px)">
<source srcset="…" media="…">
<img src="examples/images/small.jpg" alt="">
</picture>
<picture>
<source srcset="examples/images/large.jpg 640w,
examples/images/extralarge.jpg 1280w"
media="(min-width: 720px)">
<source srcset="…" media="…">
<img src="examples/images/small.jpg" alt="">
</picture>
<img src="small.jpg"
srcset="medium.jpg 640w, small.jpg 320w"
sizes="(min-width: 36em) 33.3vw, 100vw"
alt="Responsive image"/>
Вся специфика применения популярно объясняется в статье http://ericportis.com/posts/2014/srcset-sizes/
<span data-alt="Responsive image" data-picture>
<span data-src="mobile.jpg"></span>
<span data-src="retina.jpg" data-media="
only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min-resolution: 1.5dppx),
only screen and (min-resolution: 144dpi)"></span>
<span data-src="desktop.jpg" data-media="
(min-width: 720px)"></span>
</span>
Обрезка, изменение размеров, конвертирование форматов, сохраниение с нужным качеством
Владимир Кузнецов
Twitter: @mista_k
Блог: noteskeeper.ru
Слайды презентации: bit.ly/wsd-riga-mf