Я использую Angular 6 и Material 6, и мне нужно установить margin-bottom: 20px в закусочную. Проблема в том, что анимация перекрывается, когда она закрыта, а другая открыта. Как я могу это решить?
1) Правильный способ (веб-пример). Когда новое сообщение должно быть отображено, закусочная полностью исчезает, пока не появится новый (https://scrud.herokuapp.com/book)
2) Мой код (плохо)
Пример: Перейдите на официальный образец закуски (https://stackblitz.com/angular/qyllrqbvykv?file=styles.css). Перейдите в "style.css" и добавьте этот фрагмент кода и нажмите много раз на кнопку.
.cdk-overlay-pane {
margin-bottom: 10px !important;
}
Angular материал создает эффект скольжения, оживляя преобразование translateY. Я не думаю, что есть способ обойти перекрытие. То, что вы могли бы попробовать, - это заранее называть
dismiss()
, а затем вызватьopen()
вsetTimeout()
с помощью короткой задержки. Единственная проблема заключается в том, что в закусочной всегда будет такая задержка, если вы не найдете способ избежать задержки, если нет закуски. Возможно, вы сможете использовать наблюдаемые символыafterDismissed()
иafterOpened()
, но это кажется сложным.Пример: