изображения, использующие srcset, не изменяются при заданной ширине

#css #image #responsive #srcset

#css #изображение #отзывчивый #srcset

Вопрос:

Я добавляю на свой сайт изображение, размеры которого должны быть разными в зависимости от разрешения экрана (довольно часто).

Однако меня смущает то, что изображения, которые я установил, <img srcset="X"> не меняются при заданной ширине.

(быстрое примечание, я использую incogento в Chrome, так что это не ИЗВЕСТНАЯ проблема с кэшем)

в любом случае — продолжайте показывать:

Несколько изображений (определенного размера)

введите описание изображения здесь

HTML-КОД:

 <img src="im2/1280.jpg"
    srcset="im2/120.jpg 120w, 
            im2/320.jpg 320w, 
            im2/640.jpg 640w,
            im2/1280.jpg 1280w,
            im2/1920.jpg 1920w"
    sizes="(max-width: 250px) 120px,
           (max-width: 480px) 320px,
           (max-width: 720px) 640px,
           (max-width: 1400px) 1280px,
           (max-width: 2000px) 1920px,
    " 
    alt="Image description">
 

Итак, основываясь на моем приведенном выше коде, я бы ожидал, что первое изображение будет 120.jpg (если ширина экрана была меньше 250 пикселей) — однако:

введите описание изображения здесь

Первый — 320px

введите описание изображения здесь

при 460px отображается изображение для 1280px

введите описание изображения здесь

Я предполагаю, что я пропустил некоторую ключевую информацию о том, как это работает.

если кто-нибудь может пролить некоторый свет на это, это было бы здорово.

Заранее спасибо — Уолли

Ответ №1:

Отличную статью для чтения по этой теме можно найти здесь (ее следующий уровень объясняет, как следует использовать тег picture и srcset)

https://alligator.io/html/picture-element/

Короткий ответ заключается в том, что тегам изображений <img> , использующим srcset <img srcset="X"> , будет присвоена ширина изображения, чтобы браузер мог решить, что с ним делать <img srcset="X.jpg 200w">

НО ИМЕННО БРАУЗЕР решает, какое изображение использовать, основываясь на заданных значениях.

Т.е.

 <img srcset="X.jpg 1000w">
 

Браузеры могут использовать это на дисплее шириной 400 пикселей

Для получения конкретных изображений, которые будут использоваться при определенных размерах экрана, обратитесь к связанной статье, в которой приведена вся необходимая информация.