Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<img> это только часть проблемы. Во-первых есть CSS. Во-вторых, есть различные ajax загрузчики контента на сервер, появляется необходимость обработки статических шаблонов и т.д. и т.п. Другими словами, мы либо не покрываем всех картинок либо способ становится неуправляемо интегрируемым со скриптами CMS (что также не очень хорошо, так как лишает гибкости).
if ($cookie_retina = 1) {
rewrite ^/images/(.*?)\.(jpg|png|gif) /images/$1@2x.$2;
}
location ~ /images/(.*?)@2x\.(jpg|png|gif) {
try_files $uri /images/$1.$2 =404;
}
if (file_exists($_GET['img']) && isImg ($_GET['img']))
die (file_get_contents($_GET['img']));
location ~ ^/2x/(.+)$ {
try_files $uri /$1 =404;
}
if ($http_cookie ~ "retina" ) {
set $retina 1;
}
location ~ ^/2x/(.+)$ {
try_files $uri /$1 =404;
}
location ~* ^.+.(jpg|jpeg|gif|png)$ {
if ($retina = 1) {
rewrite (.+) /2x$1;
}
}
if ($http_cookie ~ "retina" ) {
set $retina 1;
}
location ~* ^(.+)@2x.(jpg|jpeg|gif|png)$ {
try_files $uri $1.$2 =404;
}
location ~* ^.+.(jpg|jpeg|gif|png)$ {
if ($retina = 1) {
rewrite ^(.+).(jpg|jpeg|gif|png)$ $1@2x.$2;
}
}
лучшим способом адаптацииВообще-то он вполне применим.на сегодняшний день является способc background-image в CSS. Но он не применим к обычным изображениямв теге <img>
IMG#идентификаторКартинки {
/* обнуляем размеры имеющейся картинки: */
height: 0 !important;
width: 0 !important;
/* задаём размеры новой картинки: */
padding-left: 125px !important;
padding-top: 25px !important;
/* задаём адрес новой картинки: */
background: url(http://example.com/адрес/иллюстрации) no-repeat !important;
}
Комплексная подготовка сайта к Retina