SCROLL EFFECT
无缝跑马灯Infinite Marquee
一排内容匀速循环滚动,接缝完全看不出来。两端渐隐是点睛之笔。
效果预览
◆ Nova● Orbit▲ Summit✦ Lumen■ Forge◆ Nova● Orbit▲ Summit✦ Lumen■ Forge
两端渐隐 · 悬停暂停
适合用在哪
Logo 墙、客户评价滚动带、关键词标签云、公告轮播。
容易踩的坑
- 两份内容宽度不完全一致或 gap 未计入,循环到 -50% 时出现明显跳帧。
- 持续滚动超过 5 秒却不提供暂停,违反 WCAG 2.2.2,干扰注意力障碍用户。
- 复制的那一份没加 aria-hidden="true",读屏会把所有内容重复念两遍。
设计提示词 · Prompt
无缝跑马灯(Infinite Marquee):内容复制两份放进一条 flex 轨道(width:max-content、gap 与内容间距一致),动画 translateX(0→-50%) 匀速循环(20-30s linear infinite)——因为两份内容等宽,-50% 恰好无缝衔接。两端加 mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent) 渐隐。悬停时 animation-play-state:paused。变体:上下两条反向滚、鼠标位置控制滚动速度。内容必须首尾相接等宽,否则会跳。
Infinite Marquee: duplicate the content twice inside one flex track (width:max-content, gap equal to the content spacing), animate translateX(0→-50%) at constant speed in a loop (20-30s linear infinite) — because both copies are equally wide, -50% joins seamlessly. Add mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent) at both ends to fade out. On hover use animation-play-state:paused. Variants: two rows scrolling in opposite directions, mouse position controlling scroll speed. The content must join end to end with equal width, otherwise it jumps.
常见搭配
同一页面里经常和「无缝跑马灯」一起出现的模式,可以收藏后用「组合收藏为整页提示词」一起交给 AI。
演示 HTML 结构
<div class="s d-marquee">
<div class="d-marquee__track">
<span class="d-marquee__chip">◆ Nova</span><span class="d-marquee__chip">● Orbit</span><span class="d-marquee__chip">▲ Summit</span><span class="d-marquee__chip">✦ Lumen</span><span class="d-marquee__chip">■ Forge</span><span class="d-marquee__chip">◆ Nova</span><span class="d-marquee__chip">● Orbit</span><span class="d-marquee__chip">▲ Summit</span><span class="d-marquee__chip">✦ Lumen</span><span class="d-marquee__chip">■ Forge</span>
</div>
<span class="d-marquee__cap">两端渐隐 · 悬停暂停</span>
</div>