Day32综合案例--走马灯

走马灯的本质上几张图片无缝移动于指定的区域内而不间断
但实际上如果就放入对应数量的图片,会导致其最后几张图片在移动式会露出空白,无法实现无缝,为了解决这个问题,可以将前面已经移动出框内的图片重复填充,即
image

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>走马灯</title>
    <style>
        *{
            padding: 0;
            margin: 0;
            list-style: none;
        }
        img{
            display: block;
            width: 200px;
        }
        .box{
            width: 600px;
            height: 112px;
            border: 5px solid #000;
            margin: 100px auto;
            overflow: hidden;
        }
        .box ul{
            display: flex;
            animation: move 6s infinite linear;
        }
        .box:hover ul{
            animation-play-state: paused;
        }
        /* 定义唯一动画,ul使用动画,鼠标悬浮暂停 */
        @keyframes move {
            0%{
                transform: translate(0);
            }
            100%{
                transform: translate(-1400px);
            }
        }
    </style>
</head>
<body>
    <div class="box">
        <ul>
            <li><img src="./1.jpg" alt=""></li>
            <li><img src="./2.jpg" alt=""></li>
            <li><img src="./3.jpg" alt=""></li>
            <li><img src="./4.jpg" alt=""></li>
            <li><img src="./5.jpg" alt=""></li>
            <li><img src="./6.jpg" alt=""></li>
            <li><img src="./7.jpg" alt=""></li>
            <!-- 替身,填补像显示后面三张图片移走后露出的空白 -->
            <li><img src="./1.jpg" alt=""></li>
            <li><img src="./2.jpg" alt=""></li>
            <li><img src="./3.jpg" alt=""></li>
        </ul>
    </div>
</body>
</html>

image

posted @ 2025-12-16 17:19  冰涿  阅读(2)  评论(0)    收藏  举报