
当为多个并排的 .work_banner_content 元素设置横向滚动动画时,因父容器 .work-banner 启用了 overflow: hidden,导致第二组内容虽已进入视口却无法显示;正确做法是将动画直接应用到每个子列表上,而非父容器。
当为多个并排的 `.work_banner_content` 元素设置横向滚动动画时,因父容器 `.work-banner` 启用了 `overflow: hidden`,导致第二组内容虽已进入视口却无法显示;正确做法是将动画直接应用到每个子列表上,而非父容器。
在实现 CSS Marquee(跑马灯)效果时,一个常见误区是将 @keyframes 动画绑定在父容器(如 .work-banner)上,而子元素(如多个
.work_banner_content {
font-weight: 600;
flex-shrink: 0;
display: flex;
justify-content: space-around;
min-width: 100%;
gap: var(--gap);
/* ✅ 动画直接作用于每个 ul */
animation: test 15s linear infinite;
}
@keyframes test {
from {
transform: translateX(0);
}
to {
transform: translateX(calc(-100% - var(--gap)));
}
}
⚠️ 注意事项:
- 移除对 -webkit-transform 的单独声明,现代浏览器均支持标准 transform,保留前缀仅增加冗余;
- 确保 .work_banner_content 的 min-width: 100% 与内部 li 的总宽度(含 gap)匹配,避免因计算误差导致位移终点偏移;
- 若需无缝循环,建议两组内容完全一致,且动画终点精确等于单组总宽度(含间隙),即 calc(-100% - var(--gap)) 是可靠选择;
- 避免在 .work-banner 上启用 animation,否则会干扰子元素的独立位移逻辑。
该方案无需修改 HTML 结构、不依赖 JavaScript,纯 CSS 实现多组并行滚动,兼顾性能与可维护性,是构建响应式跑马灯组件的推荐实践。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











