视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jQuery+CSS3实现3D立方体旋转效果_jquery
2020-11-27 21:45:25 责编:小采
文档
本文介绍了如何利用jQuery+CSS3实现3D立方体旋转效果,先看一看效果图:

切换图片过程中,图片进行旋转:

HTML结构
3D图片画廊的图片列表和导航按钮分别使用两个无序列表来制作。

  • Image 1
  • Image 2
  • Image 3
  • Image 4
  • 点击上面的按钮切换图片

    CSS样式
    为了制作3D透视效果,需要在#css3dimageslider元素上设置perspective 透视属性,并在它里面的无序列表元素上设置transform-style: preserve-3d;,由于IE浏览器不支持这个属性,所以在IE浏览器中是看不到效果的。接下来通过:nth-child选择器分别选择每一个列表项,并通过translateZ和rotateY属性对它们进行3D转换,形成立方体效果。

     #css3dimagePager, #css3dtransparency {
     text-align: center;
     position: relative;
     z-index: 11;
     padding: 0 0 10px;
     margin: 0;
    }
    #css3dimagePager li {
     padding-right: 2em;
     display: inline-block;
     cursor: pointer;
    }
    #css3dimagePager li.active, #css3dtransparency.active {
     font-weight: bold;
    }
    #css3dimageslider {
     -webkit-perspective: 800;
     -moz-perspective: 800px;
     -ms-perspective: 800;
     perspective: 800;
     -webkit-perspective-origin: 50% 100px;
     -moz-perspective-origin: 50% 100px;
     -ms-perspective-origin: 50% 100px;
     perspective-origin: 50% 100px;
     margin: 100px auto 20px auto;
     width: 450px;
     height: 400px;
    }
    #css3dimageslider ul {
     position: relative;
     margin: 0 auto;
     height: 281px;
     width: 450px;
     list-style: none;
     -webkit-transform-style: preserve-3d;
     -moz-transform-style: preserve-3d;
     -ms-transform-style: preserve-3d;
     transform-style: preserve-3d;
     -webkit-transform-origin: 50% 100px 0;
     -moz-transform-origin: 50% 100px 0;
     -ms-transform-origin: 50% 100px 0;
     transform-origin: 50% 100px 0;
     -webkit-transition: all 1.0s ease-in-out;
     -moz-transition: all 1.0s ease-in-out;
     -ms-transition: all 1.0s ease-in-out;
     transition: all 1.0s ease-in-out;
    }
    #css3dimageslider ul li {
     position: absolute;
     height: 281px;
     width: 450px;
     padding: 0px;
    }
    #css3dimageslider ul li:nth-child(1) {
     -webkit-transform: translateZ(225px);
     -moz-transform: translateZ(225px);
     -ms-transform: translateZ(225px);
     transform: translateZ(225px);
    }
    #css3dimageslider ul li:nth-child(2) {
     -webkit-transform: rotateY(90deg) translateZ(225px);
     -moz-transform: rotateY(90deg) translateZ(225px);
     -ms-transform: rotateY(90deg) translateZ(225px);
     transform: rotateY(90deg) translateZ(225px);
    }
    #css3dimageslider ul li:nth-child(3) {
     -webkit-transform: rotateY(180deg) translateZ(225px);
     -moz-transform: rotateY(180deg) translateZ(225px);
     -ms-transform: rotateY(180deg) translateZ(225px);
     transform: rotateY(180deg) translateZ(225px);
    }
    #css3dimageslider ul li:nth-child(4) {
     -webkit-transform: rotateY(-90deg) translateZ(225px);
     -moz-transform: rotateY(-90deg) translateZ(225px);
     -ms-transform: rotateY(-90deg) translateZ(225px);
     transform: rotateY(-90deg) translateZ(225px);
    }
    #css3dimageslider.transparency img {
     opacity: 0.7;
    } 

    JavaScript

    最后在jQuery代码中,在点击按钮的时候相应的#css3dimageslider ul元素的rotateY属性,是器旋转,并为其添加一个.active class。

    显示全文
    专题