After years of building navigation menus, below are what we have learned:
1. Maybe save time
If Desktop Menu and Mobile Menu have the same content, it does save you some minutes of copying elements.
If they don’t have the same content, the time to show/hide elements based on breakpoints might not save your time.
2. Less DOM output
Since a menu is rendered once, the DOM output is less than having two menus.
People often misunderstand that there are less HTTP requests as well. It’s not true. All modern browsers support HTTP caching. So, two menus having the same content will do the same amount of HTTP requests as one menu.
1. Not well supported by Bricks
Bricks builder doesn’t support an all-in-one element. It is against Bricks’ methodology.
You may think of the Nav (Nestable) element. It works because the Off-Canvas layout is pretty simple.
2. Doesn’t work with advanced menu layouts
For advanced menu layouts, CSS and JavaScript alone can’t help transform a Desktop Menu into a Mobile Menu. The Paged layout for example. Sites such as Adidas and Nike still have to render two separate menus for Desktop and Mobile.
TBH, it’s possible to make it work. But, extra code to manipulate the DOM is risky for SEO and Accessibility.
3. Massive amount of controls will confuse users
If controls of both Mobile Menu and Desktop Menu are in one element, the amount of controls for all menu layouts will be massive for users to handle.
The traditional responsive method has no real benefit. And since Bricks doesn’t support an all-in-one element, we decided to choose flexibility and long-term compatibility with Bricks.
Last modified: Mar 22 2025 at 11:30 AM.