Я разрабатываю приложение для iPad с использованием HTML5 / CSS3. Я не использую никаких фреймворков и просто использую то, что изначально поддерживается на устройстве. Я создал несколько анимаций css3, чтобы имитировать типичное перемещение iOS влево или вправо при переходе между экранами. Вот пример анимации «Слева влево», использующей аппаратное ускорение iPad в CSS3: (ipad работает с 4.2).
/*************************************************
Slide Left
*************************************************/
.screen.slideleft{
-webkit-animation-duration: 0.5s;
-webkit-animation-timing-function: ease-in-out;
}
.screen.slideleft.outgoing{
z-index: 50 !important;
-webkit-animation-name: slideleft-outgoing;
}
.screen.slideleft.incoming{
z-index: 100 !important;
-webkit-animation-name: slideleft-incoming;
}
@-webkit-keyframes slideleft-outgoing{
from { -webkit-transform: translate3d(0%,0,0); }
to { -webkit-transform: translate3d(-100%,0,0); }
}
@-webkit-keyframes slideleft-incoming{
from { -webkit-transform: translate3d(100%,0,0); }
to { -webkit-transform: translate3d(0%,0,0); }
}
У меня также есть этот CSS, который я пытался использовать, чтобы исправить мерцание:
.incoming,
.outgoing{
display: block !important;
-webkit-backface-visibility: hidden;
}
Это прекрасно работает, пока не используется клавиатура iPad. После этого все анимации сильно мерцают.
Я искал примеры приложения для iPad на HTML5, которое использует клавиатуру и впоследствии не мерцает, но мало что появилось. Демонстрации jqTouch демонстрируют то же поведение на iPad (хотя я знаю, что они были разработаны для iPhone).
Я поднял несколько постов / вопросов с похожими вопросами, но так и не нашел хорошего ответа. Я прошел через http://css3animator.com/2010/12/fight-the-flicker-making-your-css3-animation-bomb-proof/ и статьи, связанные там, но безуспешно.
Любые другие предложения?
Обновление 1/13 @ 9:00 * 10101 *
Я добавил этот CSS, и он мне очень помог:
<pre>
.incoming *,
.outgoing *{
-webkit-backface-visibility: hidden;
-webkit-transform: translate3d(0,0,0); /* This helps with the flicker a lot. */
}
Элементы переднего плана, кажется, больше не мерцают, но фон все еще остается. Все еще ищете помощь или полезные ресурсы по тактике обработки памяти в Mobile Safari.
Обновление 1/16 @ 11 вечера
Увеличение z-индекса по предложению анонима. Похоже, ничего не изменилось.
Обновление 1/17 @ 8:30 утра
Я опубликовал демо-версию проблемы здесь .
Переходы между экранами работают великолепно ... пока вы не нажмете / не нажмете в одном из полей формы. После скольжения и возврата клавиатуры все переходы мигают. Перейдите по URL-адресу внутри симулятора iOS или реального iPad, чтобы узнать, о чем я говорю.