• css3实现3D切割轮播图案例


    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>CSS3 3D切割轮播图</title>
        <style>
            body {
                margin: 0;
                padding: 0;
            }
    
            ul {
                margin: 0;
                padding: 0;
                list-style: none;
                height: 100%;
                 100%;
            }
    
            .view {
                 560px;
                height: 300px;
                border: 1px solid #ccc;
                margin: 100px auto;
                position: relative;
            }
    
            /*大盒子*/
            .view ul {
                 560px;
                height: 300px;
                /*3d呈现*/
                /*transform-style: preserve-3d;*/
            }
    
            .view ul li {
                 112px;
                height: 300px;
                float: left;
                position: relative;
                /*3d呈现*/
                transform-style: preserve-3d;
            }
    
            .view ul li span {
                position: absolute;
                left: 0;
                top: 0;
                 100%;
                height: 100%;
            }
    
            .view ul li span:nth-child(1) {
                background-image: url("images/1.jpg");
                background-repeat: no-repeat;
                transform:translateZ(150px);
            }
    
            .view ul li span:nth-child(2) {
                background-image: url("images/2.jpg");
                background-repeat: no-repeat;
                transform: translateY(-150px) rotateX(90deg);
            }
    
            .view ul li span:nth-child(3) {
                background-image: url("images/3.jpg");
                background-repeat: no-repeat;
                transform: translateZ(-150px) rotateX(180deg);
            }
    
            .view ul li span:nth-child(4) {
                background-image: url("images/4.jpg");
                background-repeat: no-repeat;
                transform: translateY(150px)  rotateX(270deg);
            }
    
            .view ul li:nth-child(2) span {
                background-position: -112px;
            }
    
            .view ul li:nth-child(3) span {
                background-position: -224px;
            }
    
            .view ul li:nth-child(4) span {
                background-position: -336px;
            }
    
            .view ul li:nth-child(5) span {
                background-position: -448px;
            }
    
            /*3d转换 旋转*/
            .view ul li {
               transition: all 1s;
                /*transform: translateZ(150px);*/
    
                /*transform-origin: center center -150px;*/
            }
    
            /*按钮*/
            .prev, .next {
                display: block;
                 60px;
                height: 60px;
                text-align: center;
                line-height: 60px;
                margin-top: -30px;
                font-size: 40px;
                color: #FFF;
                text-decoration: none;
                background-color: rgba(0, 0, 0, 0.5);
                position: absolute;
                top: 50%;
            }
    
            .next {
                right: 0;
            }
    
        </style>
    </head>
    <body>
    <div class="view">
        <ul>
            <li><span></span><span></span><span></span><span></span></li>
            <li><span></span><span></span><span></span><span></span></li>
            <li><span></span><span></span><span></span><span></span></li>
            <li><span></span><span></span><span></span><span></span></li>
            <li><span></span><span></span><span></span><span></span></li>
        </ul>
        <a href="javascript:;" class="prev">&lt;</a>
        <a href="javascript:;" class="next">&gt;</a>
    </div>
    
    <script src="js/jquery.min.js"></script>
    <script>
        $(function () {
            var count = 0;
            $('.prev').on('click', function () {
                count ++;
                $('li').css('transform','rotateX('+count*90+'deg)').each(function(index){
                    $(this).css('transition-delay',index*0.25+'s');
                });
            })
            $('.next').on('click', function () {
                count -- ;
                $('li').css('transform','rotateX('+count*90+'deg)').each(function(index){
                    $(this).css('transition-delay',index*0.25+'s');
                });
            })
        });
    </script>
    </body>
    </html>
  • 相关阅读:
    css,dispaly与visibility
    关于easyui使用的一些错误
    如何修改 node_modules 里的文件
    vue中执行异步函数async和await的用法
    JavaScript中的变量提升本质
    JS 会有变量提升和函数提升
    Weakmap详解
    js中“??“和“?.“怎么用?
    selenium去除特征 undetected_chromedriver
    js 对象嵌套 hook
  • 原文地址:https://www.cnblogs.com/lsy0403/p/5935154.html
Copyright © 2020-2023  润新知