要实现无限滚动效果,可以使用CSS3的动画和@keyframes属性。关键词包括:animation、@keyframes、transform、translate。具体步骤如下:
给滚动元素添加一个容器,并设置容器的宽度和高度,以及overflow属性为hidden,来隐藏溢出的内容。
把需要滚动的内容放到容器内,并设置内容的宽度和高度,以及position属性为absolute,来让内容脱离文档流并可以自由定位。
使用@keyframes来定义动画,设置transform: translateX()来实现水平移动。
使用animation属性将动画应用于内容元素,设置animation-duration来定义动画持续时间,animation-iteration-count为infinite来表示无限循环。
当内容到达容器的边缘时,将其复制一份并放置在内容的后面,以实现无限循环滚动的效果。
示例代码:
.container {
width: 500px;
height: 300px;
overflow: hidden;
position: relative;
}
.content {
width: 100%;
height: 100%;
position: absolute;
animation: scroll 10s infinite;
}
.content:last-child {
position: absolute;
left: 100%;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}
在以上代码中,容器的宽度为500px,高度为300px,内容元素使用百分比宽高以适应容器的大小,动画名称为scroll,持续时间为10s,循环次数为infinite。当内容元素到达容器的右边缘时,将其复制一份并放在内容元素的后面,以实现无限循环滚动的效果。