我试图使用我在网上找到的这个代码制作一个动态图像横幅,但我的问题是我似乎无法让它垂直滚动。现在,只有第一张图片正在移动,我不知道为什么。 Here是原始代码的链接。
这是我到目前为止所拥有的。
CSS:
<style>
body {
background: url('images/dark_geometric.png');
}
#container {
width: 800px;
height: 705px;
overflow: hidden;
}
.photobanner {
height: 233px;
width: 3550px;
margin-bottom: 80px;
}
/*keyframe animations*/
.first {
-webkit-animation: bannermove 30s linear infinite;
-moz-animation: bannermove 30s linear infinite;
-ms-animation: bannermove 30s linear infinite;
-o-animation: bannermove 30s linear infinite;
animation: bannermove 30s linear infinite;
}
@keyframes "bannermove" {
0% {
margin-top: 0px;
}
100% {
margin-top: -2125px;
}
}
@-moz-keyframes bannermove {
0% {
margin-top: 0px;
}
100% {
margin-top: -2125px;
}
}
@-webkit-keyframes "bannermove" {
0% {
margin-top: 0px;
}
100% {
margin-top: -2125px;
}
}
@-ms-keyframes "bannermove" {
0% {
margin-top: 0px;
}
100% {
margin-top: -2125px;
}
}
@-o-keyframes "bannermove" {
0% {
margin-top: 0px;
}
100% {
margin-top: -2125px;
}
}
</style>
HTML:
<body>
<div id="container">
<div class="photobanner">
<img class="first" src="images/rsz_event1.png" alt="">
<img src="images/rsz_event2.png" alt="">
<img src="images/rsz_event3.png" alt="">
<img src="images/rsz_event4.png" alt="">
<img src="images/rsz_event5.png" alt="">
<img src="images/rsz_event6.png" alt="">
<img src="images/rsz_event7.png" alt="">
<img src="images/rsz_event8.png" alt="">
<img src="images/rsz_event1.png" alt="">
<img src="images/rsz_event2.png" alt="">
<img src="images/rsz_event3.png" alt="">
<img src="images/rsz_event4.png" alt="">
</div>
</div>
</body>
如果有人可以帮我指出正确的方向,我会非常感激。刚开始学习。
答案 0 :(得分:3)
图像不是块级元素,因此如果您需要让图像在另一个下方显示并使用margin-top
属性设置动画,则应向其添加display: block
设置。
链接的示例并不需要这样,因为这是一个水平滚动,默认情况下所有这些图像元素都排成一行。
body {
background: url('http://lorempixel.com/600/400/abstract/1');
}
#container {
width: 800px;
height: 600px; /* modify as per your need, would be better to set it to multiples of image height */
overflow: hidden;
}
.photobanner {
width: 3550px;
height: 200px; /* modify as per your need, this is the height of each image */
margin-bottom: 80px;
}
.first {
animation: bannermove 30s linear infinite;
}
img {
display: block;
}
@keyframes bannermove {
0% {
margin-top: 0px;
}
100% {
margin-top: -1600px; /* container height - (no. of images - 1) * image height */
}
}
&#13;
<div id="container">
<div class="photobanner">
<img class="first" src="http://lorempixel.com/800/200/nature/1" alt="">
<img src="http://lorempixel.com/800/200/nature/2" alt="">
<img src="http://lorempixel.com/800/200/nature/3" alt="">
<img src="http://lorempixel.com/800/200/nature/4" alt="">
<img src="http://lorempixel.com/800/200/nature/5" alt="">
<img src="http://lorempixel.com/800/200/nature/6" alt="">
<img src="http://lorempixel.com/800/200/nature/7" alt="">
<img src="http://lorempixel.com/800/200/nature/8" alt="">
<img src="http://lorempixel.com/800/200/nature/1" alt="">
<img src="http://lorempixel.com/800/200/nature/2" alt="">
<img src="http://lorempixel.com/800/200/nature/3" alt="">
<img src="http://lorempixel.com/800/200/nature/4" alt="">
</div>
</div>
&#13;