Я пытаюсь установить два закрепленных div (один заголовок, один sidenav), используя Angular Material. Sticky div работает, кроме случая прокрутки, когда я прокручиваю свой контент вниз.
И когда я прокручиваю вниз, у меня появляется что-то вроде этого:
Моя проблема в том, что при прокрутке вниз у меня нет события прокрутки с Angular. Если я изменю файл style.s css, установив значение в свойство height css, все липкие div больше не будут работать, НО у меня есть событие прокрутки с Angular.
. нерв :( Любая идея, чтобы решить эту проблему? Спасибо большое!
style.s css
html, body {
min-height: auto; // sticky header doesn't work but scroll event Angular OK
// height: 100%; // sticky header works but scroll event Angular NOK
}
body {
margin: 0;
font-family: Roboto, "Helvetica Neue", sans-serif;
}
КОД КЛЕЙКОГО ЖАТКА:
app.component. html
<div class="app-wrapper">
<router-outlet></router-outlet>
</div>
app.component.s css
.app-wrapper {
min-height: 100%;
overflow-x: hidden;
}
.my-toolbar {
position: sticky;
position: -webkit-sticky; /* For macOS/iOS Safari */
top: 0; /* Sets the sticky toolbar to be on top */
}
app-main.component. html
<mat-toolbar color="primary" class="my-toolbar">
<mat-toolbar-row>
<div fxFlex fxLayoutAlign="flex-start">
<mat-icon routerLink="/home">home</mat-icon>
</div>
<h1>My title</h1>
</mat-toolbar-row>
</mat-toolbar>
<router-outlet></router-outlet>
app-main.s css
.app-toolbar {
position: sticky;
position: -webkit-sticky; /* For macOS/iOS Safari */
top: 0; /* Sets the sticky toolbar to be on top */
}
STICKY MENU
app-content. html
<div fxLayout="column">
<img fxFlex="10" src="assets/test.jpg" alt="menu picture" />
<div class="categories nav-menu color-primary">
<app-horizontal-nav
[navItems]="categories$ | async">
</app-horizontal-nav>
</div>
<!-- content -->
<app-products></app-products>
</div>
app-content.s css
.nav-menu {
position: sticky;
position: -webkit-sticky; /* For macOS/iOS Safari */
top: 50px; // for the first sticky header
}
РЕДАКТИРОВАТЬ:
Здесь демонстрация stackblitz : https://stackblitz.com/edit/angular-9-0-0-rc-1-zhoy51 в стиле. css, измените высоту с авто на 100%, и липкие заголовки будут работать. НО никакое событие прокрутки из scrolledToDirective не запускается.