我在 Angular 中使用 立方贝塞尔 过渡动画我的 ng-view:
/* Animations */
.slide-animation.ng-enter, .slide-animation.ng-leave {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
position:absolute;
}
.slide-animation.ng-enter {
opacity:0;
left:300px;
overflow-y: hidden;
overflow-x:hidden;
}
.slide-animation.ng-enter.ng-enter-active {
opacity:1;
left: 0;
top: 0;
}
.slide-animation.ng-leave {
opacity:0;
left: 0;
top: 0;
}
.slide-animation.ng-leave.ng-leave-active {
opacity:0;
left: 0;
top: 0;
}
一切正常, 除了在输入内容时出现的滚动条。 它从右侧移动到左侧(如您在代码中所见)。
我想在动画期间隐藏滚动条。
我究竟做错了什么?
原文由 ohboy21 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要在
body
CSS 中设置overflow:hidden
—。但请注意,添加它会隐藏所有溢出的内容,包括垂直滚动条,您不想这样做,因为如果高度溢出,页面内容将被隐藏。因此,如果您正在使用幻灯片过渡(向侧面)并且只想隐藏过渡期间出现的水平滚动条,请改用它:这样,您只是隐藏了水平滚动条,而垂直滚动条仍然有效。