Вы должны как минимум добавить пустую декларацию translate3d:
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
Это значительно повысит производительность на iOS, о чем свидетельствует Remy Sharp , потому что это заставляет iOS использовать аппаратные средства.ускорение.
Если вы хотите пойти дальше, реорганизуйте анимацию, чтобы использовать преобразование перевода веб-набора, а не анимировать свойство top.В свойстве transform3d вторым параметром является значение Y.В вашем примере измените -webkit-transition
, чтобы сосредоточиться на свойстве transform, а не на top.Затем установите начальное значение 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);
не будет работать.