angular / angular/components

bug/feature(sidenav) limited customization caused by 'mat-drawer-inner-container' element

Offen
#13,983 18 Kommentare 17 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: material/sidenav P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

#### Bug, feature request, or proposal:
Bug or feature request

#### What is the expected behavior?
Sidenav to be fully customizable as it was before

#### What is the current behavior?
Having inserted a not-stylable container div between `mat-drawer` and the actual content, I cannot manage height and scrolling as before.

#### What is the use-case or motivation for changing an existing behavior?
For example, in my case I have a 'collapser' button inside sidenav (toggle between normal and drawer mini mode) which must stick to the top while allowing other options to scroll.

```html







...

```

This worked well without the intermediate div, because I could use `display: flex` to manage the height and scrolling making the `links-container` to take all available height minus that taken by the collapser element.

```scss
.mat-sidenav {
display: flex;
flex-direction: column;
}
```

Now I can't do it anymore and I'm forced to use global CSS to put the very same rules on the `mat-drawer-inner-container`, because I cannot style it from inside the component because of CSS scoping.

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 7
Material 7

#### Is there anything else we should know?
The added element is documented here

https://github.com/angular/material2/blob/76044e8b5c3a6342b05d2e89dfb3b4ccf308c422/src/lib/sidenav/drawer.scss#L162-L167

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die dokumentierten mat-drawer-inner-container-Regeln in src/lib/sidenav/drawer.scss zu lesen. Untersuche anschließend, wie sich der Zwischencontainer auf das mat-sidenav-Layout und auf komponentenbezogene Styles auswirkt. Die Arbeit ist abgeschlossen, wenn das sidenav das im Issue beschriebene Collapser-and-Scroll-Layout unterstützen kann, ohne globales CSS zu benötigen; da keine Testdatei erwähnt wird, ermittle vor einer Verhaltensänderung die relevante sidenav-Abdeckung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, scss, typescript
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.