положение: исправлено, не работает на iPad и iPhone - PullRequest
128 голосов
/ 03 февраля 2011

Я некоторое время боролся с фиксированным позиционированием в iPad. Я знаю iScroll , и это не всегда работает (даже в их демонстрации). Я также знаю, что у Сенчи есть исправление для этого, но я не мог Ctrl + F исходный код для этого исправления.

Я надеюсь, что у кого-то может быть решение. Проблема в том, что элементы с фиксированным позиционированием не обновляются, когда пользователь перемещается вверх / вниз на мобильном Safari с iOS.

Ответы [ 12 ]

0 голосов
/ 11 марта 2017

В моем случае прокрутка показала элемент position: fixed, который изначально не отображался при добавлении в DOM.Поэтому я просто вручную вызвал событие прокрутки, которое, в свою очередь, вызвало перерисовку и вуаля.

window.scrollTo(window.scrollX, window.scrollY);
0 голосов
/ 26 марта 2012

вот мое решение этой проблемы ...

CSS

#bgimg_top {
    background: url(images/bg.jpg) no-repeat 50% 0%; 
    position: fixed; 
    top:0; 
    left: 0; 
    right:0 ; 
    bottom:0;
}

HTML

<body>
<div id="bgimg_top"></div>
....
</body>

Объяснение заключается в том, что фиксированная позиция для div будет всегда держать div на заднем плане, затем мы растягиваем div для перехода по всем углам браузера (при условии, что поле body = 0), используя (left, right, top, bottom) одновременно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...