Ответ 1
Вы должны как минимум добавить пустое выражение translate3d:
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
Это значительно улучшит производительность iOS, как показано Remy Sharp, потому что это заставляет iOS использовать аппаратное ускорение.
Если вы хотите пойти дальше, реорганизуйте анимацию, чтобы использовать трансляцию трансляции webkit, вместо того, чтобы анимировать свойство "top". В свойстве transform3d второй параметр является значением Y. В вашем примере измените -webkit-transition
, чтобы сосредоточиться на свойстве transform, а не на верхнем. Затем установите начальный webkit-transform
параметра translate3d(0,0,0)
.
Чтобы выполнить анимацию, измените объявление класса .modal.modalOn
на:
transform: translate3d(0,80px,0);
-webkit-transform: translate3d(0,80px,0)
Это заставит iOS анимировать преобразование элемента и должно быть более гладким, чем первый метод.
- Примечание -
Не забудьте добавить единицу измерения как px или em - что-то вроде transform: translate3d(0,80,0);
не будет работать.