Я хотел создать пульсирующую анимацию на вертикально и горизонтально центрированном изображении, используя анимацию CSS. Это отлично работает в Firefox и Chrome (версия для мобильных устройств и OSX). Но в сафари лажает, неправильное позиционирование изображения.
Странно то, что после переключения рабочих столов (три пальца влево или вправо) и возврата в сафари изображение позиционируется правильно.
Я создал jsfiddle, чтобы показать проблему, я пропустил все префиксы, кроме -webkit.
JSfiddle здесь: https://jsfiddle.net/stxnt1sb/9/
HTML
<article>
<img src="http://lorempixel.com/600/400/sports/">
</article>
CSS
article{
position:relative;
width:600px;
height:400px;
overflow:hidden;
}
img{
position:absolute;
top:50%;
left:50%;
width:100%;
-webkit-transform:translate(-50%,-50%);
-webkit-animation-name: pulse;
-webkit-animation-duration: 10s;
-webkit-animation-timing-function: ease-in-out;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: normal;
}
@-webkit-keyframes pulse {
0% {
-webkit-transform: translate(-50%, -50%) scale(1) ;
}
33% {
-webkit-transform: translate(-50%, -50%) scale(1.05);
}
100% {
-webkit-transform: translate(-50%, -50%) scale(1) ;
}
}
Изображение позиционируется абсолютно в относительном контейнере, центрированном с помощью перевода (-50%,-50%). Пульсация выполняется с помощью CSS-анимации, анимирующей масштаб изображения.