Как правило, мобильные браузеры используют следующую стратегию для отображения веб-сайтов, которые не были оптимизированы для мобильных устройств: они отображают их так, как если бы они отображались на небольшом рабочем столе (т. Е. В «виртуальном окне просмотра», обычно шириной от 800 до 1000 пикселей).), а затем уменьшите результат до размера экрана мобильного устройства.Есть классическая статья Питера Пола Коха "Повесть о двух видовых экранах" (в частности, часть вторая ), которая хорошо объясняет это.
Похоже, что режим Responsice Design в Chrome devtoolsПредполагается, что это происходит, и «виртуальный видовой экран» имеет ширину 980 пикселей.Firefox не делает этого, делая виртуальный видовой экран равным фактическому размеру окна.Установка <meta name="viewport" contents="device-width">
заставляет все браузеры (включая настоящие мобильные) делать последнее.
Итак:
Единицами измерения являются пиксели CSS перед масштабированием.Нецелые пиксели имеют смысл для вычислений, когда браузеры отображают их, они округляются.
Изображение больше экрана, потому что виртуальное окно просмотра уменьшено.Это можно предотвратить, установив <meta name="viewport" contents="device-width">
.