Как использовать изображение с низким разрешением для мобильных устройств?
Я разрабатываю отзывчивый сайт, используя медиа-запросы для изменения макета при изменении размера видового экрана.
Для мобильных устройств, я думаю, было бы полезно использовать изображение с более низким разрешением для сохранения времени загрузки и полосы пропускания.
Как отключить изображение высокого качества и заменить его более низким качеством изображения с помощью CSS?
Спасибо.
Ответы
Ответ 1
Используя элемент HTML5 picture
, вы можете указать встроенные медиа-запросы для размера изображений:
<picture>
<source srcset="sm.png" media="(max-width: 400px)">
<source srcset="mid.png" media="(max-width: 800px)">
<source srcset="lg.png">
<img src="lg.png" alt="MDN">
</picture>
Элемент будет деградировать, чтобы показать тег изображения в браузерах, которые его не поддерживают.
Подробнее о элементе picture
в MDN.
Кроме того, JS polyfill в случае, если резервное копирование тега img
недостаточно!
Ответ 2
На момент написания этой статьи элемент picture
практически не поддерживал браузер.
Итак, вот две альтернативы:
Если изображение получено из CSS, вы можете запретить его загрузку с помощью display: none
.
Если изображение находится в теге HTML img
, учтите, что браузер вызывает изображения из атрибута src
. Вы можете обойти это, используя вместо этого атрибут data
. Примените data
ко всем изображениям и добавляйте src
только тогда, когда вы хотите загрузить их.
HTML
<img data-src="http://i.imgur.com/60PVLis.png" height="100" width="100" alt="">
JS
$(document).ready(function() {
$(this).find('img').each(function() {
$(this).attr("src", $(this).data("src"));
});
});
Ответ 3
вы можете создать свой файл электронной таблицы css, добавив в экран просмотра нет изображения для больших изображений, новые мобильные браузеры не будут загружать большие изображения, если они содержат display: none в css, что позволяет загружать страницу быстрее, а также добавление отображения не для небольших изображений на рабочем столе будет делать то же самое.
Ответ 4
Это просто - создайте другое изображение с меньшим разрешением и поставьте его мультимедийные запросы.
Запросы СМИ могут помочь вам скрыть и показать элементы на основе разрешения экрана и типа носителя.
Отличным ресурсом будет эта статья о медиа-запросах в CSSTricks, которая охватывает различные устройства, платформы и res