Автоматическое указание высоты и ширины картинки
Здравствуйте
На сайте резиновый дизайн, имею трудности с ресайзом изображений и их физическим размером.
Картинки весьма крупные, на разных мониторах и мобильных устройствах смотрятся нормально, но имею проблему с размером этих картинок под мобильные устройства, пример:
Оригинальное изображение 608px × 400px = 91кб
На мобильном устройстве картинка будет смаштабирована до 280px × 184px и все теже 90кб
PageSpeed Insights от Гугла для мобильных устройств говорит 62 / 100:
Оптимизируйте следующие изображения, чтобы уменьшить их размер на 460,6 КБ (76 %).
При этом для ПК результат 92 / 100
Как можно реализовать автовывод width=«ХХ» и height=«ХХ» в атрибутах картинки в зависимости от разрешения картинки в данный момент, что бы после этого применить ресайз phpthumbof
Или какие вообще существуют решения?
На сайте резиновый дизайн, имею трудности с ресайзом изображений и их физическим размером.
Картинки весьма крупные, на разных мониторах и мобильных устройствах смотрятся нормально, но имею проблему с размером этих картинок под мобильные устройства, пример:
Оригинальное изображение 608px × 400px = 91кб
На мобильном устройстве картинка будет смаштабирована до 280px × 184px и все теже 90кб
PageSpeed Insights от Гугла для мобильных устройств говорит 62 / 100:
Оптимизируйте следующие изображения, чтобы уменьшить их размер на 460,6 КБ (76 %).
При этом для ПК результат 92 / 100
Как можно реализовать автовывод width=«ХХ» и height=«ХХ» в атрибутах картинки в зависимости от разрешения картинки в данный момент, что бы после этого применить ресайз phpthumbof
Или какие вообще существуют решения?
Комментарии: 13
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
DirectResize представляет собой плагин, способный применять выбранный Lightbox к изображениям на сайте. Плагин включает в себя Highslide, ColorBox или prettyPhoto.
Лайтбокс не сильно то и нужен.
Пример, на сайт заходят 3 человека:
1) разрешение монитора 1920х1080
2) разрешение монитора 1280х1024
3) разрешение мобильного устройства 320х480
Сейчас картинки маштабируются через CSS и все устраивает, кроме того что на мобильниках, малюсенькие картинки весят дофига.
На всех 3х устройствах картинка должна получить свои атрибуты width=«ХХ» и height=«ХХ» и изображение не просто масштабированное, а ресайзнутое.
По DirectResize мало документации на русском, толком не встречал на примерах принцип его работы, может кто подсказать?
Если есть у кого наработки — поделитесь плиз!
Это атрибуты width и height указывают клиенту, какое разрешение у картинки и бронируют место на странице для неё.
То есть, выводится пустой прямоугольник для картинки с указанными размерами, в который загружается изображение. Если атрибуты не соответствуют картинке — она будет растянута или скукожена до них.
width и height не влияют на реальный размер или разрешение файла, они только говорят клиенту, как отобразить его.
Если атрибуты не указать, то страница будет «дергаться» после полной загрузки файла. Вот и всё.
А если ты делаешь ресайз файла на сервере, то должен сам знать, до какого размера ты его меняешь — и можешь указать эти значения в атрибутах чанка.
Но я думаю, что у тебя просто «резиновая» верстка и картинки отображаются по-разному, в зависимости от разрешения экрана. То есть, никакого реального ресайза нет. Файлы одинаковые и для ПК, и для мобильного, отображение файла меняется уже на клиенте.
Так что, нужно или сделать реальный ресайз изображений для мобильников на сервере (фактически, мобильную версию сайта) или просто оставить как есть и не переживать про циферки в Гугле.
Такое возможно?
Скоро выложу новое дополнение для этого, следите за новостями.
Затем с помощью JS подставлять в src малое изображение, если пользователь зашел с мобильного устройства. К примеру:
Только надо иметь jQuery и определить функцию isMobile. Думаю, идея понятна.
Вообще у этой задачу есть несколько решений: вычисление User-Agent перед отдачой файла, LazyLoad, трюк с HighResolution-изображением (>3k px), но высокой степенью сжатия. Можно даже извратиться и использовать media queries, как предлагает Виталий. Все зависит от семантики.