好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CSS3简易切割轮播图的实现代码

实现思路

首先创建一个父容器,用两个无序列表通过弹性布局将父容器分为两栏。 在li里面 存放 图片通过给左边的li {background: url('图片地址') no-re PE at; background-size : 200% 100%;}给 右边 的li{background-pos IT ion-x: -300(父容器 宽 度的一 半 )px;}来实现将图片分割成两栏。 给ul{ransform -s tyle: PR eserve-3d; }属性来开启浏览器的3D显示。 用子绝父相来将li叠放到一起ul{position: relative;} li {position: absolute;}。 通过transform属性来设置li的旋转。 到这里可以添加.box:hover>ul { transition: all 5s;transform: rotateX( 360 deg ); } 来看看效果。 最后添加两个按钮来让用户可以自己切换图片。 点击时只用 改变 ul的旋转角度

   BT  n1 .onclick = ()=>{
            item++;
            let r = item * 90;
            letf.style.transform = 'rotateX(' + r + 'deg)';
            letf.style.transition = 'all 1s';
            right.style.transform = 'rotateX(' + r + 'deg)';
            right.style.transition = 'all 1s .3s';
        }
        btn2.onclick = ()=>{
            item--;
            let r = item * 90;
            letf.style.transform = 'rotateX(' + r + 'deg)';
            letf.style.transition = 'all 1s';
            right.style.transform = 'rotateX(' + r + 'deg)';
            right.style.transition = 'all 1s .3s';
        }

最后附上全部代码,希望对学习前端的你有所帮助

ht ML 代码

<!DOCTYPE html>
<html lang="en">
<head>
    < ;m eta charset="UTF-8">
    <meta n am e="viewport" content="width=device-width, initial-scale=1.0">
    <title>切割轮播图</title>
</head>
<body>
    <div class="box">
        <ul class="letf">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
        <ul class="right">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
    <button id="btn1">上一页</button><button id="btn2">下一页</button>
</body>
</html>

css 代码

*{
    m arg in: 0;
    padding: 0;
}
body{
    perspective: 800px;
}
.box{
    dis play : flex;
    width: 600px;
    h ei ght: 350px;
    mar gin : 150px auto;
}
.box:hover ul li:nth-child(1){
    transition: all 5s;
    transform: rotateX(360deg);
}
ul{
    flex: 1;
    list-style: none;
    padding: 0;
    margin: 0;
    transform-style: preserve-3d;  /* 开启浏览器的3D显示 */
    position: relative;
}
li{
    width: 100%;
    height: 100%;
    position: absolute;
}
li:nth-child(1){
    background: url(' .. /images/9. jpg ') no-repeat;
    background- Size:  200% 100%;
    transform: translateZ(175px);

}
li:nth-child(2){
    background: url('images/10.jpg') no-repeat;
    background-size: 200% 100%;
    transform: rotateX(90deg) translateZ(175px);
}
li:nth-child(3){
    background: url('images/11.jpg') no-repeat;
    background-size: 200% 100%;
    transform: rotateX(180deg) translateZ(175px);
}
li:nth-child(4){
    background: url('images/12.jpg') no-repeat;
    background-size: 200% 100%;
    transform: rotateX(-90deg) translateZ(175px);
}
.right li{
    background-position-x: -300px;
}

js代码

  let item = 0;
        let btn1 = document.getElementById('btn1');
        let btn2 = document.getElementById('btn2');
        let letf = document.querySelector('.letf');
        let right = document.querySelector('.right')
        btn1.onclick = ()=>{
            item++;
            let r = item * 90;
            letf.style.transform = 'rotateX(' + r + 'deg)';
            letf.style.transition = 'all 1s';
            right.style.transform = 'rotateX(' + r + 'deg)';
            right.style.transition = 'all 1s .3s';
        }
        btn2.onclick = ()=>{
            item--;
            let r = item * 90;
            letf.style.transform = 'rotateX(' + r + 'deg)';
            letf.style.transition = 'all 1s';
            right.style.transform = 'rotateX(' + r + 'deg)';
            right.style.transition = 'all 1s .3s';
        }

到此这篇关于CSS3 简易 切割轮播图的实现代码的 文章 就介绍到这了,更多相关CSS3切割轮播图内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

总结

以上是 为你收集整理的 CSS3简易切割轮播图的实现代码 全部内容,希望文章能够帮你解决 CSS3简易切割轮播图的实现代码 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于CSS3简易切割轮播图的实现代码的详细内容...

  阅读:20次