32px margin is OK if you don’t mind the spacing even when the admin bar is not there. It’s difficult to make a suggestion without a live page to examine. If you are able to post a link to such a page, please do. The admin bar makes its space by adding a 32px top margin (with !important modifier) to the <html> entity, pushing the entire page down. The bar itself is a fixed position with top: 0;
I’m assuming your navbar is the “sticky” variant that is always at the top of the window regardless of scroll position. Thus it has position fixed. If it has no positioning dimensions like top: 0;
, it should move with the <html> entity despite the fixed position. Non-sticky navbars should not ever be a problem since they are positioned static or relative to the html and body entities.
The only other situation I can imagine is if you have inline style on the page which overrules the admin bar’s <html> rule pushing the page down. To do so, your style would need to appear after the admin bar’s. The admin bar rules are normally just before the closing </head> tag, so it would be difficult for an overriding rule to exist if it was properly added with wp_enqueue_style().