Переход CSS не работает с верхним, нижним, левым, правым


у меня есть элемент с типом

position: relative;
transition: all 2s ease 0s;

затем я хочу плавно изменить его положение после нажатия на него, но когда я добавляю изменение стиля, переход не происходит, вместо этого элемент перемещается мгновенно.

$$('.omre')[0].on('click',function(){
    $$(this).style({top:'200px'});
});

однако, если я изменю color свойство например, оно изменяется плавно.

$$('.omre')[0].on('click',function(){
    $$(this).style({color:'red'});
});

что может быть причиной этого? Есть ли свойства, которые не являются "переходными"?

EDIT: я думаю Я должен был упомянуть, что это не jQuery, это другая библиотека. Код, кажется, работает по назначению, стили добавляются, но переход работает только во втором случае?

2 59

2 ответа:

попробуйте установить значение по умолчанию в CSS (чтобы он знал, где вы хотите его начать)

CSS

position: relative;
transition: all 2s ease 0s;
top: 0; /* start out at position 0 */

Возможно, вам нужно указать верхнее значение в вашем наборе правил css, чтобы он знал, какое значение анимировать С.