可通过四种CSS方案实现图片横向滚动:一、CSS动画+translateX无缝循环;二、scroll-snap手动滑动;三、废弃但兼容的标签;四、CSS Grid多行同步滚动。

如果您希望在网页中实现图片的横向自动滚动效果,可以通过纯HTML与CSS结合的方式完成。以下是实现此效果的具体步骤:
该方法利用CSS的@keyframes定义连续位移动画,并通过transform: translateX()控制图片容器整体向左平移,形成无缝循环滚动效果。需确保图片容器宽度超出可视区域,并设置溢出隐藏。
1、创建一个外层容器,设置overflow: hidden和固定宽度或高度。
2、在容器内嵌套一个图片列表容器,设置display: flex并禁用换行。
立即学习“前端免费学习笔记(深入)”;
3、将所有图片放入该列表容器,每张图片设置固定宽高及flex-shrink: 0防止压缩。
4、为图片列表容器添加animation属性,调用自定义@keyframes,从translateX(0)过渡到translateX(-100%)。
5、复制一遍图片序列追加到原序列末尾,使动画结束时视觉上无缝衔接。
该方法依赖现代浏览器的滚动捕捉机制,适用于用户主动拖拽或点击切换的横向图集场景。无需JavaScript,依靠scroll-snap-type与scroll-snap-align精准控制每次滚动停靠位置。
1、为外层容器设置display: flex、overflow-x: auto和scroll-snap-type: x mandatory。
2、为每个图片子元素设置flex: 0 0 [宽度值](如flex: 0 0 300px)和scroll-snap-align: start。
3、添加scroll-behavior: smooth使滚动过程具备缓动效果。
4、可选:隐藏默认滚动条,使用::-webkit-scrollbar设为display: none。
<marquee></marquee>是HTML早期遗留标签,支持direction="left"实现原生横向滚动,虽已被W3C废弃,但在多数浏览器中仍可运行,适合对兼容性要求极高且无需精细控制的简易场景。
1、插入标签。
2、在标签内部直接放入<img alt="html如何做滚动图片_制作HTML横向滚动图片效果【横向】" >元素,每张图片用空格或<span></span>分隔。
3、通过scrollamount调整滚动速度,scrolldelay控制帧间隔。
4、注意:该标签不支持CSS Flex/Grid布局,且无法响应式缩放,仅限测试或老旧系统临时使用。
当需要同时滚动多排图片(如两行并列图组),可借助CSS Grid定义行列结构,再对整个grid容器应用transform: translateX()动画,确保上下行图片位移完全一致,避免错帧。
1、外层容器设为display: grid,使用grid-template-rows: repeat(2, 1fr)定义两行。
2、每张图片作为独立grid项,按顺序填入,使用grid-row指定归属行。
3、包裹所有图片的内层容器设为display: inline-block并应用动画。
4、动画关键帧中,transform: translateX()值需覆盖全部图片总宽度的负值,使首图完全移出视口时末图刚好进入。
5、同样需复制图片序列以维持循环,复制数量应等于行数,保证每行结尾衔接正确。
以上就是html如何做滚动图片_制作HTML横向滚动图片效果【横向】的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号