css3 +JS: 旋转幻灯片3D

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            box-sizing: border-box;
        }

        body {
            background-color: #333;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
            perspective: 1000px;
        }

        .slider{
            position: relative;
            height: 500px;
            width: 500px;
            transform-style: preserve-3d;
            animation: myrotate 4s linear infinite;
        }

        .slide{
            opacity: 0;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .slide.visible{
            opacity: 1;
        }

        @keyframes myrotate {
            0%{
                transform: rotateY(90deg);
            }
            50%{
                transform: rotateY(270deg);
            }
            100%{
                transform: rotateY(450deg);
            }
        }

        @media(max-width: 500px) {
            .slider{
                height: 280px;
                width: 280px;
            }
        }
    </style>
</head>
<body>
    
    <div class="slider">
        <div class="slide visible">
            <img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2694717687,3963200266&fm=26&gp=0.jpg">
        </div>
        <div class="slide">
            <img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1486368647,3634825947&fm=26&gp=0.jpg">
        </div>
        <div class="slide">
            <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2672874601,687968987&fm=26&gp=0.jpg">
        </div>
        <div class="slide">
            <img src="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1717514436,48890912&fm=26&gp=0.jpg">
        </div>
        <div class="slide">
            <img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2406465494,2429688917&fm=26&gp=0.jpgg">
        </div>
    </div>

    <script>
        const slider = document.querySelector('.slider');
        const slides = document.querySelectorAll('.slide');
        let activeSlide = 0;

        function changeSlide(){
            slides[activeSlide].classList.remove('visible');
            activeSlide++;
            if(activeSlide >= slides.length){
                activeSlide = 0;
            }
            slides[activeSlide].classList.add('visible');
        }

        slider.addEventListener('animationstart',()=>{
            setInterval(changeSlide,2000);
        });

    </script>
</body>
</html>
发布了356 篇原创文章 · 获赞 67 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_39969226/article/details/104963980