При наведении происходят непонятные скачки
Понятные. Изменение положения элемента
.box-inner
завязано на его же
:hover
, так что когда он уезжает из-под курсора, состояние
:hover
теряется, элемент откатывается назад, под курсор, снова случается
:hover
, элемент опять едет вверх, ну и т.д. Надо смотреть
:hover
у элемента, который из-под курсора никуда не девается, т.е., у родительского:
.box:hover .box-inner {
margin-top: -360px;
}
Также, как сделать, чтобы при убирании курсора все возвращалось обратно плавно, а не резким скачком?
Аналогично -
transition
должен присутствовать у элемента вне зависимости от наличия состояния
:hover
:
.box-inner {
transition: all 500ms ease;
}