Я пытаюсь начать использовать некоторые CSS3-переходы на чувствительном сайте, который я делаю, и все отлично работает на настольном Chrome и Chrome на Android, но оно не работает должным образом на устройствах ios для обоих Chrome и Safari.CSS3 Переходы на ios Slow/Not Working
CSS-сниппаю Я использую для моего меню, например, ниже:
#menu {
width: 180px;
height: 100%;
position: fixed;
top: 0;
left: -180px;
z-index: 9;
transition: left 1s;
-webkit-transition: left 1s;
}
У меня есть кнопка меню, при нажатии, вызывает в яваскрипте функции, которая изменяет «левый» стиль 0, который переводит его в положение извне левой части экрана.
Все работает нормально на настольных компьютерах и в Chrome, но на ios Chrome и Safari он либо очень прерывистый, либо просто задерживает секунду, а затем всплывает мгновенно. Это делается на всех моих переходах, но я показываю меню один для простоты.
Я сделал много прибегая к помощи и поиска Stack, но единственное, что я действительно нашел сказать, чтобы добавить следующее:
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
-webkit-transform: translate3d(0, 0, 0);
к стилю, чтобы заставить аппаратное ускорение, но это не работает либо. Я не вижу никаких изменений. Любая помощь будет оценена по достоинству.
Избегайте использование абсолютного позиционирования переходов он принимает много ресурсов, вместо того, чтобы попытаться использовать 'преобразования: translateX (0)' для горизонтальной регулировки – Swordys
@Swordys Я дам эту чек. Я до сих пор не перепутал «преобразование», потому что до недавнего времени я не пытался переходить к ним, особенно не для мобильных устройств. У меня также такая же проблема с изменчивостью/неработоспособностью элементов, которые не меняют позиционирование, но имеют переход на максимальную высоту и непрозрачность. Лучше всего использовать трансформацию для всех из них? – Jetteh22
Да, если вы используете множество переходов по абсолютным элементам, это будет иметь большое влияние на производительность. Использование переходов - лучшая практика для гладкого опыта. Вы также можете попробовать использовать 'will-change: transform' для принудительного аппаратного ускорения, но в настоящее время он не поддерживается в браузере Safari. – Swordys