Несмотря на то, что, возможно, это ошибка, специфичная для Safari, я бы не стал слишком сильно путаться с вычислением статических пикселей + регулировкой верхнего и левого углов.
То, что вы в основном делаете там, это уменьшение размера изображения на 30%.
Вы можете легко добиться того же с помощью scale
.
После упрощенной версии вашей анимации, которая также работает в Safari.
@keyframes icon-animation {
0% {
transform-origin: 50% 50%;
transform: translate(-50%, -50%) rotate(-45deg);
}
100% {
transform-origin: 50% 50%;
transform: translate(-50%, -50%) rotate(0deg) scale(.70);
}
}
Если scale
не вариант, попробуйте поиграть с полями, но это может привести к нежелательному поведению в Chrome или Firefox.