【发布时间】:2016-02-20 04:20:45
【问题描述】:
我想使用 CSS 动画在垂直和水平居中的图像上创建一个脉冲动画。这在 Firefox 和 Chrome(移动和 OSX 版本)中运行良好。但是在Safari中搞砸了,图片的定位不正确。
奇怪的是,在切换桌面(三指向左或向右滑动)并返回 safari 后,图像的位置正确。
我创建了一个 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 动画完成的,为图像的比例设置动画。
【问题讨论】:
标签: css safari position css-animations pulse