【发布时间】:2015-08-12 00:33:35
【问题描述】:
我的问题是这样的:
.container {
width: 200px;
height: 170px;
display: inline-block;
position: relative;
}
.image {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
-webkit-background-size: cover!important;
background-size: cover!important;
background-repeat: no-repeat!important;
animation: image 8s linear 1s infinite;
animation-timing-function: steps(1);
}
@keyframes image {
20% {
background-position: 25% center;
}
40% {
background-position: 50% center;
}
60% {
background-position: 75% center;
}
80% {
background-position: 100% center;
}
}
<div class="container">
<div class="image" style="background:url(http://i.imgur.com/GX23d5Y.jpg)"></div>
</div>
我有一张由 5 张拼接在一起的图片组成的长图片,我正在以类似的方式为其 background-position 设置动画。
目前正在发生过渡,但分步进行,因此每张图像都会“闪烁”。
我想知道是否有可能在 background-position 更改的同时进行某种淡入/淡出。我尝试插入
0% { opacity:1; }
20% { background-position: 25% center; opacity:0; }
21% { opacity:1; }
进入我的动画,但我无法获得良好的淡入/淡出效果。
任何关于如何做到这一点的建议(不插入多个图像,如here)都非常感谢。
【问题讨论】:
-
我认为是
animation: fadein 2s; -
您能否提供一个示例代码来说明您所说的 5 张图像拼接在一起 的含义?即使图像完全不相关也很好。只是一个样本应该没问题。
-
你在说this fiddle之类的东西吗?
-
@BogdanKuštan:不错的一个,除了我认为它不能用单个动画完成,因为 OP 正在寻找图像上的步长(也就是说,更像是跳跃/眨眼而不是循序渐进)。将不透明度更改与图像步进动画相结合会破坏这一点。
-
@BogdanKuštan 我已经尝试过了,但效果不太好,因为您在不透明度更改中有点松了第二张幻灯片。
标签: html css animation css-animations