通过冗余数据使CSS实现无缝滚动

通过冗余数据使CSS实现无缝滚动,需要注意的是,滚动的是容器而不是元素

原理:滚动高度达到容器的50%时重新开始滚动

 

HTML结构

<div class="container">
    <div class="wrapper">
        <div class="marquee">通过冗余数据使CSS实现无缝滚动01</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动02</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动03</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动04</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动05</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动06</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动07</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动08</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动09</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动10</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动01</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动02</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动03</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动04</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动05</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动06</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动07</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动08</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动09</div>
        <div class="marquee">通过冗余数据使CSS实现无缝滚动10</div>
    </div>
</div>

CSS

.container{
    width: 360px;
    height: 216px;
    margin: 50px auto;
    border: 1px solid #ced4da;
    overflow: hidden;

    @keyframes marquee{
        0%{}
        100%{
            transform: translateY(-50%);
        }
    }

    .wrapper{
        -webkit-animation: marquee 8s linear infinite;
        -moz-animation: marquee 8s linear infinite;
        animation: marquee 8s linear infinite;

        &:hover{
            -webkit-animation-play-state: paused;
            -moz-animation-play-state: paused;
            animation-play-state: paused;
        }

        .marquee{
            height: 36px;
            line-height: 36px;
            font-size: 16px;
            padding: 0 10px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;

            &:hover{
                color: #dc3545;
                background-color: #e2e3e5;
            }
        }
    }
}

效果

 

posted @ 2023-05-11 10:01  laoq112  阅读(236)  评论(0编辑  收藏  举报