使用css3怎么实现一个魔方3d效果-创新互联

使用css3怎么实现一个魔方3d效果 ?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

为河南等地区用户提供了全套网页设计制作服务,及河南网站建设行业解决方案。主营业务为做网站、网站设计、河南网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

css是什么意思

css是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,使网页更加美化。它也是一种定义样式结构如字体、颜色、位置等的语言,并且css样式可以直接存储于HTML网页或者单独的样式单文件中,而样式规则的优先级由css根据这个层次结构决定,从而实现级联效果,发展至今,css不仅能装饰网页,也可以配合各种脚本对于网页进行格式化。

html:


<div class="container">
        <div class="box defaul">
            <div class="pic"><img src="./img/cat.jpg" alt=""></div>
            <div class="pic"><img src="./img/dog.jpg" alt=""></div>
            <div class="pic"><img src="./img/elephant.jpg" alt=""></div>
            <div class="pic"><img src="./img/lion.jpg" alt=""></div>
            <div class="pic"><img src="./img/rabbit.jpg" alt=""></div>
            <div class="pic"><img src="./img/monkey.jpg" alt=""></div>
        </div>
    </div>
    <h2>点击下面的图片按钮切换</h2>
    <div class="btn">
        <input type="image" class="1" src="./img/cat.jpg">
        <input type="image" class="2" src="./img/dog.jpg">
        <input type="image" class="3" src="./img/elephant.jpg">
        <input type="image" class="4" src="./img/lion.jpg">
        <input type="image" class="5" src="./img/rabbit.jpg">
        <input type="image" class="6" src="./img/monkey.jpg">
    </div>

css:

   * {
        margin: 0;
        padding: 0;
    }
    html,
    body {
        width: 100%;
        height: 100%;
        background: #66677c;
        text-align: center;
    }
    .container {
        width: 300px;
        height: 300px;
        margin: 50px auto 150px;
        perspective: 1200px;
    }
    .container .box {
        width: 300px;
        height: 300px;
        position: relative;
        transform-style: preserve-3d;
        transition: transform 0.5s;
    }
    .container .box .pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 300px;
        height: 300px;
        box-shadow: 0px 0px 5px #fff;
    }
    .container .box .pic img {
        width: 100%;
        height: 100%;
        cursor: pointer;
    }
    .container .box .pic:nth-child(1) {
        transform: translateZ(150px);
    }
    .container .box .pic:nth-child(2) {
        transform: rotateY(-180deg) translateZ(150px);
    }
    .container .box .pic:nth-child(3) {
        transform: rotateY(90deg) translateZ(150px);
    }
    .container .box .pic:nth-child(4) {
        transform: rotateY(-90deg) translateZ(150px);
    }
    .container .box .pic:nth-child(5) {
        transform: rotateX(90deg) translateZ(150px);
    }
    .container .box .pic:nth-child(6) {
        transform: rotateX(-90deg) translateZ(150px);
    }
    h2 {
        color: #fff;
        font-size: 30px;
        margin-bottom: 30px;
    }
    .btn {
        display: grid;
        justify-content: center;
        grid-template-columns: 100px 100px 100px;
        grid-template-rows: 100px 100px;
        grid-gap: 15px;
    }
    .btn input {
        width: 100px;
        height: 100px;
        outline: none;
        border: 2px solid #fff;
    }
    .btn input:focus {
        border: 2px solid #e70;
    }
    .defaul {
        transform: translateZ(-150px) rotateX(-10deg) rotateY(15deg);
    }
    .image1 {
        transform: translateZ(-150px) rotateX(0deg) rotateY(0deg);
    }
    .image2 {
        transform: translateZ(-150px) rotateY(-180deg);
    }
    .image3 {
        transform: translateZ(-150px) rotateY(-90deg);
    }
    .image4 {
        transform: translateZ(-150px) rotateY(90deg);
    }
    .image5 {
        transform: translateZ(-150px) rotateX(-90deg);
    }
    .image6 {
        transform: translateZ(-150px) rotateX(90deg);
    }

js:

 (function(){
        var btn = document.getElementsByClassName('btn')[0];
        var box = document.getElementsByClassName('box')[0];
        btn.addEventListener('click',function(e){
            var className = e.target.className;
            if(className !== 'btn'){
                box.style = '';
                box.classList.replace(box.classList[1],'image'+className);
            }
        })
        //鼠标拖动效果
        var xN = 10, yN = 15;
        document.addEventListener('mousedown',function(e){
            e.preventDefault();
            e.stopPropagation();
            var x = e.clientX;
            var y = e.clientY;
            document.addEventListener('mousemove',move);
            document.addEventListener('mouseup', up);
            function move(e){
                e.preventDefault();
                e.stopPropagation();
                var x1 = e.clientX;
                var y1 = e.clientY;
                xN += (x1 - x)*0.04;
                yN += (y1 - y)*0.04;
                box.style.transform = 'translateZ(-150px) rotateY(' + xN + 'deg) rotateX(' + -yN + 'deg)';
            }
            function up(){
                document.removeEventListener('mousemove', move);
            }
        })
    })()

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。

标题名称:使用css3怎么实现一个魔方3d效果-创新互联
分享网址:https://www.cdcxhl.com/article32/coigsc.html

成都网站建设公司_创新互联,为您提供移动网站建设面包屑导航服务器托管网站排名网站改版静态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设