Проблема заключается в том, что ваш макет не перекомпоновывается из-за характера свойства transform
после добавления .list-item
s к вашим .blocks
s. Вы можете прочитать о 3 различных методах, которые могут использоваться для того, что вы делаете здесь .
Мое предложение использовать вместо этого свойство min-height
, избавиться от перехода Vue и просто переключить класс на узле .list
. Ниже приведены необходимые настройки:
CSS:
// strip all of the .slide-out-* classes
.list {
....
max-height: 100px;
transition: all 1s;
}
.block .list.is-collapsed {
transition: all 1s;
max-height: 0;
padding-top: 0;
padding-bottom: 0;
}
HTML:
удалить теги &
<div class="list" :class="{'is-collapsed': collapsed}"> <--- removed 'v-if'