【发布时间】:2019-08-09 03:10:31
【问题描述】:
我正在使用基于 CSS3 的滑入式导航。 导航当前从左到右滑入,并以一定角度进行必要的过渡。我想使用相同的效果,但我需要从右向左滑动。
我从 codepen 找到了这个 sn-p,我尝试对其进行更改,但无法实现。
如果有人能帮我解决这个问题,那将有很大帮助。
这是我的代码的快速Fiddle -
.navigation-menu__bars, .navigation-menu__bars::before, .navigation-menu__bars::after {
cursor: pointer;
border-radius: 1px;
height: 2px;
width: 25px;
background: #fff;
position: absolute;
left: 0;
top: 50%;
display: block;
transition: all .3s;
}
.navigation-menu {
background-color: transparent;
height: 100%;
position: fixed;
width: 527px;
transform: translateX(-100%);
transition: transform .3s .3s;
}
.navigation-menu::before {
background: #4E567E;
content: '';
height: 400%;
left: 50%;
position: absolute;
top: 0;
transform: translate(-50%, -50%) rotate(40deg);
width: 100%;
z-index: 0;
}
.navigation-menu--open {
transform: translateX(0);
}
.navigation-menu--open .navigation-menu__bars {
background-color: transparent;
}
.navigation-menu--open .navigation-menu__bars::before, .navigation-menu--open .navigation-menu__bars::after {
top: 0;
}
.navigation-menu--open .navigation-menu__bars::before {
transform: rotate(45deg);
}
.navigation-menu--open .navigation-menu__bars::after {
transform: rotate(-45deg);
}
.navigation-menu--open .menu-list__item {
opacity: 1;
transition-delay: 1.25s;
}
.navigation-menu__toggle {
cursor: pointer;
height: 30px;
position: absolute;
right: -40px;
top: 5px;
width: 30px;
}
.navigation-menu__bars::before, .navigation-menu__bars::after {
content: '';
}
.navigation-menu__bars::before {
left: 0;
top: -8px;
}
.navigation-menu__bars::after {
left: 0;
top: 8px;
}
.menu-list {
padding: 60px 20px;
position: relative;
z-index: 10;
}
.menu-list__item {
margin: 40px 0;
opacity: 0;
transition: opacity .5s .5s;
}
【问题讨论】:
-
>
but I need the slide to happen from right-to-left.那么你需要它在右侧还是保持在左侧并有相反的过渡?分享你所做的一些进展。 -
@extempl 我需要它在右侧,从右到左发生过渡。我不明白用于创建效果的变换。
-
所以首先你应该至少将布局更改为右侧
-
@extempl 我自己解决了! :)
-
太棒了。高五!
标签: jquery css css-transitions css-transforms