Я пытаюсь воспроизвести индикатор активности в стиле Apple (значок загрузки солнечных часов) с помощью анимации PNG и CSS3. У меня изображение вращается и делает это непрерывно, но кажется, что после завершения анимации есть задержка, прежде чем она выполнит следующий поворот.
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
#loading img
{
-webkit-animation-name: rotate;
-webkit-animation-duration: 0.5s;
-webkit-animation-iteration-count: infinite;
-webkit-transition-timing-function: linear;
}
Я пробовал изменить продолжительность анимации, но это не имеет значения, если вы замедляете ее прямо, скажем, на 5 секунд, это просто более очевидно, что после первого вращения есть пауза, прежде чем он снова повернется. Я хочу избавиться от этой паузы.
Любая помощь очень ценится, спасибо.
Ответы:
Ваша проблема здесь в том, что вы поставили,
-webkit-TRANSITION-timing-function
когда хотите-webkit-ANIMATION-timing-function
. Ваши значения от 0 до 360 будут работать правильно.источник
ease
функцию времени по умолчанию ).Вы также можете заметить небольшое отставание, потому что 0deg и 360deg - это одно и то же место, поэтому оно возвращается из точки 1 по кругу обратно в точку 1. Это действительно несущественно, но чтобы исправить это, все, что вам нужно сделать, это изменить 360deg на 359deg
мой jsfiddle иллюстрирует вашу анимацию:
Также то, что может быть больше похоже на значок загрузки яблока, будет анимацией, которая изменяет непрозрачность / цвет полос серого вместо поворота значка.
источник
Вы можете использовать такую анимацию:
источник
Если вы ищете только версию webkit, это здорово: http://s3.amazonaws.com/37assets/svn/463-single_spinner.html с http://37signals.com/svn/posts/2577-loading- кок-анимация , использующие-CSS-и-WebKit
источник
GIF
иCSS
. Моя коллекция . Если вы знаете больше, дайте мне знать.Ваш код кажется правильным. Я предполагаю, что это как-то связано с тем фактом, что вы используете .png, и то, как браузер перерисовывает объект при повороте, неэффективен, вызывая зависание (в каком браузере вы тестируете?)
Если возможно, замените .png чем-нибудь родным.
видеть; http://kilianvalkhof.com/2010/css-xhtml/css3-loading-spinners-without-images/
Chrome не дает мне пауз при использовании этого метода.
источник
Я сделал небольшую библиотеку, которая позволяет легко использовать троббер без изображений.
Он использует CSS3, но возвращается к JavaScript, если браузер его не поддерживает.
Пример .
источник