Hey @christian,
Thanks as well for the explanation. This is handled via JS right?
Not sure if what I’m about to say makes sense but…
If we leave the bar-top fixed all the time and use the x-bar-space with a display:block; all the time instead of switching from display:none;, wouldn’t that fix this behavior?
I think even a better approach is maybe to have the bar-top absolutely positioned until scroll is triggered so that we can effectively make use of the trigger offset. This would make the bar-top-space the relatively positioned element, not the bar itself. When the trigger fires, the position changes to Fixed and the top value is increased gradually to make the menu appear from top (0.2s transition seems to be the sweet spot according to some UX devs).
There is a really neat implementation of this feature on a Codepen here (no trigger offset though): https://codepen.io/jordanbrauer/full/RRqEJW/
Although the HTML markup is not the same, maybe we can use some ideas here to improve how Pro handles the sticky navigation menu? I think what makes this feature more complex is to properly handle the trigger offset but something tells me there’s a way to make this work without flickering.
For me, in its current state, the shrinking feature combined with an offset trigger can only be used with a transparent navigation that has a Position:Absolute; set. If you use shrinking+offset with a top bar that has a Position:Relative;, it causes an annoying flickering. Not a big deal, but maybe something to investigate.
Hope this can be considered!