2014-01-07 2 views
11

Я оживляющий мою нг ракурс в Угловом с кубических Безье переходом: сScrollbar появляется через CSS анимацию/переход

/* 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; 
} 

Все работает отлично, кроме скроллбара который появляется, когда содержание ввод. Он перемещается справа налево (как вы можете видеть в коде).

Я хочу скрыть полосу прокрутки во время анимации.

Что я делаю неправильно?

+0

html, body {overflow: hidden}? – michael

+0

, но тогда нет полосы прокрутки КОГДА-ЛИБО ... я хочу прокрутить мой контент. –

+0

ok, set overflow auto после анимации или попробуйте использовать css-клип ... немного сложно помочь вам без остальной части html-страницы, css, ... – michael

ответ

16

Вам необходимо установить overflow:hidden в body css. Но учтите, что добавление этого будет скрывать все переполненное содержимое, включая вертикальную полосу прокрутки, и вы не хотите этого делать, поскольку содержимое страницы будет скрыто, если высота переполнена. Так что, если вы используете слайд-переход (вбок) и вы хотите, чтобы скрыть горизонтальную полосу прокрутки, которая появляется во время перехода, то используйте вместо этого:

body { 
    overflow-x:hidden; 
} 

Таким образом, вы только скрывает горизонтальную полосу прокрутки и вертикальная полоса прокрутки будет работать.

+0

У меня была такая же проблема, но установка 'overflow-x: скрытый; в теле также удалена моя вертикальная прокрутка. Зачем? – Nitish

+0

'overflow-x: hidden;' не будет удалять вертикальную прокрутку. Может ли быть другое свойство вашего тела css, переопределяя это? Если да, вы можете вручную переопределить его, добавив 'overflow-y: scroll;', чтобы показать вертикальную прокрутку. – Neel

Смежные вопросы