Sidenav and fixed elements
See original GitHub issueBug, feature request, or proposal:
Bug
What is the expected behavior?
fixed elements to be fixed without css tricks
What is the current behavior?
To keep elements fixed (such as toolbar on the top, floating buttons on on the bottom) I need to set height: 100%
on html
, body
, main
, and md-sidenav-container
(and any other potential parents). I have to set overflow-y: auto
on the md-sidenav-container
too.
If any of those properties is omitted, then toolbar & floating buttons fixed
property is now taken as absolute
.
What are the steps to reproduce?
Just look this sample and try to fix the toolbar ; or jsut get an empty app with a sidenav and a toolbar. Unfortunately I can’t provide any plunker (proxy doesn’t allow it).
What is the use-case or motivation for changing an existing behavior?
It seems to be a misfunction of the component and not the actual expected behavior. Plus, those css tricks I mentioned cause side-effets, especially on scroll event caption.
Which versions of Angular, Material, OS, browsers are affected?
All I tested. From the alpha 10 to the current version, beta 2. I should have post this earlier, but I thought someone else would have find it. My bad.
Is there anything else we should know?
If this issue is known, please ignore this, but I couldn’t find any related issue.
Issue Analytics
- State:
- Created 7 years ago
- Reactions:11
- Comments:6 (2 by maintainers)
Top GitHub Comments
Hey there We came across the same issue. According to https://bugs.chromium.org/p/chromium/issues/detail?id=20574 and https://github.com/w3c/csswg-drafts/issues/913 there seems to be a bug in the CSS specs when using a
position: fixed
element inside a container with a translate transform, e.g.transform: translate3d(10px,0,0)
.Here in
md-sidenav
, thetransform: translate3d()
is added to the<md-sidenav-container>
and the.mat-sidenav-content
elements.So far, the only workaround we have found is to overwrite the transform property to
transform: initial !important
, since we are not using thepush
mode of the sidenav.I fixed the above plunkr example to work with angular 4, and astonishingly, the issue cannot be reproduced there anymore. http://plnkr.co/edit/tWIiaz5Mmtd3g5QhCZ4d?p=preview
This issue has been automatically locked due to inactivity. Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.