我正在尝试使用css3创建幻灯片。我已经学过几个教程:
我已经得到了以下代码:
<div id="right-leftSide">
<div id="leftPic">
<img id="chefPic" src="images/chef.jpg">
<img id ="recipeImage" src="images/people.jpg">
<img src="images/recipe1.jpg" id="recipeImage2">
<img id ="recipeImage" src="images/people.jpg">
</div>
</div>
#leftPic{
background-color: #00FFFF;
width:100%;
height: 300px;
position: relative;
margin: 0 auto;
}
#leftPic img{
width: 100%;
height: 100%;
position: absolute;
left: 0;
}
#leftPic img:nth-of-type(1){
animation: fadeInOut 24s 18s infinite;
}
#leftPic img:nth-of-type(2){
animation: fadeInOut 24s 12s infinite;
}
#leftPic img:nth-of-type(3){
animation: fadeInOut 24s 6s infinite;
}
#leftPic img:nth-of-type(4){
animation: fadeInOut 24s 0s infinite;
}
@keyframes fadeInOut{
0% {
opacity: 1;
}
17% {
opacity: 1;
}
25% {
opacity: 0;
}
92%{
opacity: 0;
}
100% {
opacity: 1;
}
}
但是,当我创建keyframes
时,如何确定时间?示例使用百分比,但我不明白意味着什么。谁能解释一下?
答案 0 :(得分:1)
在这里,我创建了一个小提琴,用一些图像来演示动画。我还在小提琴中包含了webkit兼容性,因此它适用于chrome和其他webkit浏览器。
http://jsfiddle.net/xDaevax/Kfw3L/
示例:
#leftPic img:nth-of-type(1){
animation: fadeInOut 24s 18s infinite;
-webkit-animation: fadeInOut 24s 18s infinite;
}
#leftPic img:nth-of-type(2){
animation: fadeInOut 24s 12s infinite;
-webkit-animation: fadeInOut 24s 12s infinite;
}
#leftPic img:nth-of-type(3){
animation: fadeInOut 24s 6s infinite;
-webkit-animation: fadeInOut 24s 6s infinite;
}
#leftPic img:nth-of-type(4){
animation: fadeInOut 24s 0s infinite;
-webkit-animation: fadeInOut 24s 0s infinite;
}
请参阅此链接,该链接更清楚地解释了语法。 http://css-tricks.com/snippets/css/keyframe-animation-syntax/
基本上,根据您的代码,动画持续时间为24秒,延迟分别为18秒,12秒,6秒和0秒。
因此,在时间轴上,在0%(或0秒)时,图像将是100%不透明的。到达25%或6秒时,图像将为0%可见(透明)。对于第一张图像,这将是18秒的延迟,对于第二张图像,这将延迟12秒......当它达到24秒(或100%)时,图像将再次100%不透明。
所以对于你的动画,
答案 1 :(得分:0)
这里你宣布了动画的时间,
#leftPic img:nth-of-type(1){
animation: fadeInOut 24s 18s infinite;
}
../
在你的代码的这一部分中,你要说的是动画的这个百分比,我希望设置这个不透明度。
@keyframes fadeInOut{
0% {
opacity: 1;
}
17% {
opacity: 1;
}
25% {
opacity: 0;
}
92%{
opacity: 0;
}
100% {
opacity: 1;
}
}
opacity
的定义
不透明度 - 缺乏透明度或半透明度的条件;不透明。
因此,如果您说明动画的时间为100 seconds
,那么{ opacity: 1; }
的{{1}}为10 seconds
,那么您将{ opacity: 1;