Я сделал несколько проектов с переходами CSS3 и откатом Jquery .animate (), когда CSS3 не поддерживается.
У меня есть три компьютера для тестирования, кроме моего собственного:
- ноутбук 6+ лет (работает на XP, Athlon 1800+ и 768Mo of Ram)
- 3-летний ноутбук (работает на Crappy Vista и двухъядерный процессор Intel с 2Go Ram)
- откровенный рабочий стол (несколько ОС, установленных с P4 и 1Go оперативной памяти)
Я заметил, что в большинстве случаев CSS3 работает лучше.
То, что я подразумеваю под «лучше работает», это только то, что он «чувствует себя лучше»: я не пытался ни сравнять тесты, ни применять метод научного тестирования, и мои наблюдения не должны восприниматься как нечто большее, чем эмпирическое ощущение , Также обратите внимание, что я в основном использую переходы CSS3, а не анимацию CSS3 (т.е. с ключевыми кадрами).
Однако «лучше» здесь не означает «всегда хорошо». На старых компьютерах Javascript и CSS3 одинаково запаздывают. Если ваш сайт тяжелый JS или CSS3, IE до версии 9 всегда плохой опыт, IE до версии 8 всегда настоящий кошмар. Firefox до v4 лучше, но далеко не идеален на старых компьютерах.
В любом случае, CSS3 должен быть правильно применен: например, я обнаружил, что замирание div до непрозрачности: 0 без установки display: ни один после завершения не является плохой идеей ... Переход CSS3 довольно нов, что не существует никаких реальных лучших практик , на данный момент это метод проб и ошибок.
На современных мобильных устройствах (у меня есть несколько устройств IOS, Android и BBOS), CSS3 всегда намного лучше, чем Javascript: на iPad 1 простой $ ('img'). FadeOut () может быть довольно уродливым когда CSS3-переход чистый.
Итак, в заключение, мой личный (и ограниченный) опыт говорит:
- css3 часто лучше, чем Js, особенно для современных мобильных устройств
- хотя и то и другое на плохой комбинации компьютеров и браузеров при чрезмерном использовании
- как обычно, это зависит от ваших пользователей. Если у них есть современные Macbooks, вы можете использовать много анимации без страха. Если они плохо оснащены, анимация может серьезно затруднить их просмотр.
- Я думаю, что лучше всего делать переходы CSS3 с откатом Jquery, если он не поддерживается, и сохранять их простыми (т.е. не анимировать четыре свойства сразу для трех разных элементов)
Надеюсь, это поможет.