2014-12-15 2 views
0

Я сделал пример карточки с флип в JSFiddle для AngularJS.Переходы с флип-переходом не работают должным образом в IE

Он отлично работает в Chrome. Он работает нормально в Firefox. Это вроде работает в IE, но не правильно.

Как только я удаляю перспективное правило css, он отлично работает (без перспективы). Если я добавлю -webkit- и -ie-правила, он все равно не работает. ЭТО ОШИБКА.

Я использовал ng-enter и ng-leave для перехода и т. Д. Проверьте JSFiddle для полного кода.

.serviceRoll{ 
    margin:32px; 
    position: relative; 
    height:150px; 
    width:215px; 
    perspective:800px; 
} 
.rollInner { 
    background-color:lightgrey; 
    padding-top:50px; 
    height:100px; 
    width:215px; 
    text-align:center; 
    font-size:2em; 
    border-radius: 16px; 
} 
.roll { 
    position: absolute; 
} 
.roll.ng-enter { 
    -webkit-transition:0.25s ease all; 
    transition:0.25s ease all; 
    -webkit-transform: rotateX(-90deg); 
    transform: rotateX(-90deg); 
    z-index: 1; 
} 
.roll.ng-enter.ng-enter-active { 
    -webkit-transform: rotateX(0deg); 
    transform: rotateX(0deg); 
    -webkit-transition-delay: 0.25s; 
    transition-delay: 0.25s; 
} 
.roll.ng-leave { 
    -webkit-transition:0.25s ease all; 
    transition:0.25s ease all; 
    -webkit-transform: rotateX(0deg); 
    transform: rotateX(0deg); 
    z-index: -1; 
} 
.roll.ng-leave.ng-leave-active { 
    -webkit-transform: rotateX(90deg); 
    transform: rotateX(90deg); 
} 

ответ

1

У вас есть -webkit- также добавьте правило css для -ms-. Вы добавили эти правила для веб-браузеров, но не для браузеров, не являющихся веб-сайтами. Возьмите несколько своих правил css в качестве примера. Нечто подобное -

.roll.ng-enter { 
    -webkit-transition:0.25s ease all; 
    -ms-transition:0.25s ease all; 
    transition:0.25s ease all; 
    -ms-transform: rotateX(-90deg); 
    -webkit-transform: rotateX(-90deg); 
    transform: rotateX(-90deg); 
    z-index: 1; 
} 
.roll.ng-enter.ng-enter-active { 
    -webkit-transform: rotateX(0deg); 
    -ms-transform: rotateX(0deg); 
    transform: rotateX(0deg); 
    -webkit-transition-delay: 0.25s; 
    -ms-transition-delay: 0.25s; 
    transition-delay: 0.25s; 
} 
.roll.ng-leave { 
    -webkit-transition:0.25s ease all; 
    -ms-transition:0.25s ease all; 
    transition:0.25s ease all; 
    -webkit-transform: rotateX(0deg); 
    -ms-transform: rotateX(0deg); 
    transform: rotateX(0deg); 
    z-index: -1; 
} 

Вы получаете идею :) Надеюсь, что это помогает!

+0

Я уже пробовал это. С правилами ms http://jsfiddle.net/n0m8d4zg/5/. В IE переход идет на полпути, а затем пробегает до следующего интервала. –

+0

Это может быть несколько вещей - Используете ли вы последнюю версию IE? Если у вас нет правильной декларации doctype в качестве самой первой строки в документе, IE войдет в режим совместимости, и большинство функций не будут работать должным образом. Убедитесь, что у вас есть действительный doctype ( будет в порядке) и добавьте в свой документ. –

+0

У меня есть все это в моем основном проекте и, вероятно, будет включен в проект JSFiddle, но до сих пор не повезло. Я думаю, что его ошибка IE - как правило. –

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