css实现图片无缝滚动,并且可以手动滑动
时间: 2024-03-16 16:45:03 浏览: 225
javascript实现图片轮换动作方法
要实现图片无缝滚动并且可以手动滑动,可以使用CSS的动画和滚动条属性。以下是一个简单的实现示例:
HTML代码:
```html
<div class="scroll-container">
<div class="scroll-content">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
<img src="image3.jpg" alt="Image 3">
<img src="image4.jpg" alt="Image 4">
</div>
</div>
```
CSS代码:
```css
.scroll-container {
width: 100%;
overflow-x: scroll;
-webkit-overflow-scrolling: touch; /* 支持在移动设备上使用手指滑动 */
}
.scroll-content {
display: flex;
width: max-content;
animation: scroll 20s linear infinite;
}
.scroll-content img {
width: 100%;
height: auto;
object-fit: cover;
flex-shrink: 0;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}
```
这段代码中,我们首先创建一个父容器 `.scroll-container`,并设置其 `overflow-x` 属性为 `scroll`,以便在容器中显示水平滚动条。我们还使用 `-webkit-overflow-scrolling: touch` 属性来支持在移动设备上使用手指滑动。
然后,我们创建一个子容器 `.scroll-content`,并使用 `display: flex` 属性将其内部的图片排成一行。我们为 `.scroll-content` 容器添加了一个动画 `scroll`,持续时间为20秒,并设置它为无限循环播放。
最后,我们使用 `@keyframes` 规则来定义动画的滚动效果。在 `0%` 时,图片处于容器的最左侧;在 `100%` 时,图片向左移动容器的宽度,并形成无缝滚动的效果。
需要注意的是,以上代码中的滚动效果是自动播放的,如果需要手动滑动,则需要添加一些JavaScript代码来实现。
阅读全文