2016-10-04 3 views
3

Это мой кодCSS преобразования масштаба не работает должным образом

// turn a pie into a nav menu (make it smaller) 
// this is triggered when a pie should be turned into a nav 
function beNavPie(pie) { 
    $(pie).css("transform", "scale(0.3)"); 
    $(pie).css("transform-origin", "initial"); 
} 
// turn a nav menu into a pie (revert it to original size) 
// this is triggered when the nav is clicked 
function pieFromNav(nav) { 
    $(nav).css("transform", "scale(1)"); 
    $(nav).css("transform-origin", "initial"); 
} 

Как вы можете видеть на рисунке GIF, это работает отлично. Но поворот: Каждый первый момент пирога - это навигационное меню (маленькое), переходные кривые перехода , после этого переход не будет иметь кривых пути. здесь jsfiddle: https://jsfiddle.net/q3jytbkr/

здесь образец

enter image description here

больше смотреть

enter image description here

+0

Не могли бы вы предоставить живой пример, воспроизводящий проблему? – Li357

+0

ok wait, плохо создать один – Wreigh

+1

вот оно. https://jsfiddle.net/q3jytbkr/ – Wreigh

ответ

2

Проблемы в том, вы переводите всех свойства, в том числе transform-origin. Изменение CSS от

.show-pie { 
    visibility: visible; 
    transition: .3s; 
} 

в

.show-pie { 
    visibility: visible; 
    transition: transform .3s; 
} 

https://jsfiddle.net/q3jytbkr/1/


В качестве альтернативы, вы можете просто установить transform-origin к initial, прежде чем приступить к изменению масштаба.

+0

ладно спасибо, плохо попробуйте. – Wreigh

+0

спасибо, это работает! :) – Wreigh

+0

@WreighChristianSantos, пожалуйста. Nice design btw – Phil

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