跑马灯

效果展示

核心思想

使用keyframes +animation实现轮播效果,在尾部插入一个与头部相同的元素,实现无缝轮播的欺骗

示例代码

html
<div id="box">
    <div id="content">
        <div class="page">A</div>
        <div class="page">B</div>
        <div class="page">C</div>
        <div class="page">A</div>
    </div>
</div>
css
.page {
    min-width: 400px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
}

.page:nth-child(1),
.page:nth-child(4) {
    background-color: green;
}

.page:nth-child(2) {
    background-color: gray;
}

.page:nth-child(3) {
    background-color: gold;
}

#box {
    display: flex;
    width: 400px;
    height: 200px;
    overflow: hidden;
    margin: 0 auto;
}

#content {
    display: flex;
    height: 200px;
    animation: move 6s linear infinite;
}

#content:hover {
    animation-play-state: paused;
}

@keyframes move {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-1200px);
    }
}