页外滑动导航

时间:2014-10-14 02:06:53

标签: javascript jquery html css css3

我正在尝试创建一个简单的页外滑动导航,但我在一些代码上堆栈主要是CSS。

我正在尝试制作3D效果,而不是简单的幻灯片效果,隐藏和取消隐藏侧边栏上的菜单。

这是我当前的JSFIDDLE工作:http://jsfiddle.net/je9fa6zc/

我想要的是创建一个有效的3D幻灯片:http://jsfiddle.net/f9bdm1te/2/

所以我尝试从这个JSFIDDLE复制一些CSS但是我没有得到我想要的东西。 在3D幻灯片中复制一些代码后,请查看我更新的CSS。实际上是JSFIDDLE。

#site-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 5000px; /* Temp: Simulates a tall page. */

    -webkit-perspective: 1500px;
    perspective: 1500px;
    -webkit-perspective-origin: 0% 50%;
    perspective-origin: 0% 50%;
}


#site-canvas {
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: .3s ease all;
    transition: .3s ease all;

    padding: 5% 0; /* Temp: Just spacing. */
}

#site-menu {
    width: 300px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -300px;
    background: #428bca;
    padding: 15px;

    -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg);
    transform: translate3d(-100%, 0, 0) rotateY(-90deg);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

#site-wrapper.show-nav #site-canvas {
    -webkit-transform: translateX(300px);
    transform: translateX(300px);

    visibility: visible;
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    -webkit-transform: translate3d(-100%, 0, 0) rotateY(0deg);
    transform: translate3d(-100%, 0, 0) rotateY(0deg);
}

你介意检查我哪里出错吗?

如果您还可以更新我的JSFIDDLE以便我可以将其可视化?

1 个答案:

答案 0 :(得分:1)

我已经为你的JSFiddle添加了一些CSS。

/* transition the menu with perspective on "show-nav" */
#site-wrapper.show-nav #site-menu {

    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;

    -webkit-transform: perspective(600px) rotateY(0deg);
            transform: perspective(600px) rotateY(0deg);
}

默认情况下,菜单向内旋转90度,当应用show-nav-class时,滑动div和菜单本身都会进行转换。这样,菜单可以透视旋转到原来的0度。

检查一下,看看它是不是你想要的。