Angular 7 Router анимация с несколькими выходами маршрутизатора
Я пытаюсь добавить переход между маршрутами, следуя этой статье и нескольким, как это.
Я действительно могу заставить его работать, но у меня возникают проблемы с использованием абсолютного позиционного CSS-кода, который, кажется, требует:
router-outlet ~ * {
position: absolute;
width: 100%;
height: 100%;
}
Мое приложение имеет несколько точек маршрута: верхний колонтитул, главный и нижний колонтитулы. Я использую flexbox в корне приложения, чтобы верхний и нижний колонтитулы придерживались сверху и снизу.
Вы можете увидеть макет и переход, работающие в этом стеке.
Проблема заключается в том, что установка абсолютного значения и 100% приводит к тому, что содержимое попадает в нижний колонтитул (см. Страницу "О программе").
Нет ли способа сделать переход с плавным переходом без позиции: абсолютный? Это, кажется, предполагает, что контент занимает всю страницу. Как вы можете видеть, много раз есть другой контент, такой как нижний колонтитул или какой-то другой статический контент или второй выход маршрутизатора.
То, что я ищу, - это переход, влияющий только на то, что находится в данной розетке маршрутизатора.
1 ответ
Дать display: block
попытка:
main router-outlet.maincontent ~ * {
display: block;
width: 100%;
height: 100%;
}
Я пытаюсь найти недостаток в использовании этого (или не использования position: absolute
), но все выглядит так, как вы ожидаете -> https://stackblitz.com/edit/crossfade-test-eepena?file=src/styles.css
Идея из Angular 4 анимации для постепенного появления и исчезновения вида