(Действительно) Длинные фоновые изображения не отображаются на iPad Safari
По неизвестным причинам iPad Safari не отображает действительно длинное фоновое изображение. В моем примере фоновое изображение составляет 1000 x 10000 пикселей. Тот же пример работает на любом настольном браузере, например. Safari, Firefox и т.д.
Я знаю background-repeat
в CSS, но, к сожалению, это не применимо в моем конкретном случае.
Ответы
Ответ 1
У Mobile Safari есть ограничения на то, какие фоновые изображения этого размера будут отображаться перед подвыборкой, вы можете столкнуться с этой проблемой из-за размера вашего фона:
Максимальный размер декодированных изображений GIF, PNG и TIFF составляет 3 мегапикселя для устройств с объемом памяти менее 256 МБ и 5 мегапикселей для устройств с большей или равной 256 МБ ОЗУ.
То есть, убедитесь, что ширина * высота ≤ 3 * 1024 * 1024 для устройств с ОЗУ менее 256 МБ. Обратите внимание, что декодированный размер намного больше, чем размер кодированного изображения.
см.: Знать ограничения ресурсов iOS
Ответ 2
Вы можете добиться этого, используя несколько фоновых изображений. Нарисуйте длинный jpeg на управляемые куски, соответствующие пределу, а затем используйте css3 magic, чтобы объединить их все в один фон.
Например, я нарезал изображение с высоким разрешением 7400 пикселей в 2048 пикселей и разместил их вместе с этим:
background-image: url('../images/bg_ipad1.jpg'), url('../images/bg_ipad2.jpg'), url('../images/bg_ipad3.jpg'), url('../images/bg_ipad4.jpg');
background-position: center 0px, center 2048px, center 4096px, center 6144px;
background-size: auto auto;
background-repeat: no-repeat;
Это загружается на iPad при полном разрешении.