/ / Коли запускається віртуальна клавіатура в iOS Safari, це робить мої переходи CSS мерехтінням. Як це можна виправити? - html, ios, css3, mobile-safari, віртуальна клавіатура

Коли віртуальна клавіатура в iOS Safari спрацьовує, це змінює мій перехід CSS. Як це можна виправити? - html, ios, css3, мобільний сафарі, віртуальна клавіатура

На мобільному Safari, здається, що веб-перехід переходить, коли віртуальна клавіатура спрацьовує (тобто ковзає вгору), викликає мерехтіння, іноді навіть анімацію повністю пропускає.

Здається, це навіть мерехтить / судить, навіть якщо я поставив transition-delay на ньому.

Дивним є те, що анімація гладка на розмиття (клавіатура відступає).

Я можу повторити проблему в JSFiddle тут: (відкрийте її в iOS)

JSFiddle включений нижче:

http://jsfiddle.net/5w0fj2rx/

Ви можете бачити, що фокусування / натискання на вхідний елемент пропустить анімацію більшість часу. Іноді це прекрасно працює.

Хтось знає про вирішення цього питання? Здається, щось із тим, з чим раніше «стикалися, але я не можу знайти будь-яку інформацію про нього.

Відповіді:

2 для відповіді № 1

Мені вдалося побачити переходи тут.

Я додав до вашого елемента box.move.

#box.move {
-webkit-transform: translate3d(300px, 0, 0);
-webkit-backface-visibility: hidden;
}

Додатково ... Ви вже використовуєте jQuery, тому я використовував би це замість CSS для анімації та переходів.

Редагувати:

Я зробив кілька додаткових ворушінь з ослабленням вашого переходу, і я зміг видалити будь-які стрибки / мерехтіння переходу, що робився раніше. Ось скрипка.

-webkit-transition: -webkit-transform cubic-bezier(0.32, 0, 0.68, 1) 500ms;

Єдине, що я можу припустити, це причинаце швидкість кадру, з якою браузер може обробити перехід. Таким чином, зменшивши кількість, яку елемент рухає спочатку, ми можемо зняти ефект мерехтіння. Це може бути причиною того, що браузер за замовчуванням для відео - це відкрити відеоплеєр. Я не думаю, що мобільний браузер сафарі був створений для переміщення елементів 300 пікселів за 500 мс, плавно.