Skip to main content
Question

Prototype navigation menu with multiple dropdowns?

  • August 17, 2022
  • 9 replies
  • 4287 views

WolosK

Edit: I have edited this post from what it used to be because I thought I solved it but now have a different problem

I actually sort of seemingly figured out the issue of the dropdown messing with the autolayout of the menu, but my solution has caused another issue. I made the boundary of the “open section” variant frame just the size of the tab without the dropdown part, and made the dropdown fixed position, so that it doesn’t affect the rest of the menu. This worked, but the problem is I want to be able to show in prototype opening the dropdown and switching to another dropdown. I added the “mouse leave” interaction so that the dropdown would close when not hovering so that there can’t be multiple open at a time, but because the dropdown part is outside the boundaries of the “section” tab frame I cannot hover over it. And I will eventually need to show the hover states for those links as well. Here’s what I mean:

Figma – 7 Aug 22
This topic has been closed for comments

9 replies

Klesus
  • 237 replies
  • August 17, 2022

Could you explain what your layer hierarchy looks like?


WolosK
  • Author
  • 7 replies
  • August 18, 2022

Hi, I have edited this post because I actually sort of solved it but also messed it up in a different way… I updated the post and have a link to figma file for an example


Avokadomos
  • Active Member
  • 377 replies
  • August 19, 2022

You can separate the drop down from your component and open it using this interaction:

image

Although it will require two clicks on another label, since the first one will only close down the overlay.


WolosK
  • Author
  • 7 replies
  • August 24, 2022

@Avokadomos The issue with having an overlay is the menu is being used in various places in different pages and files so I would have to have the overlay on every page and redo that prototype interaction each time. That’s why I made it a variant rather than an overlay. Unless there is in fact a way to have an overlay interaction apply across multiple pages and files?


Avokadomos
  • Active Member
  • 377 replies
  • August 24, 2022

If your navigation bar is a component, and you apply the interaction to the component, it will update across all frames where the navigation is used.


WolosK
  • Author
  • 7 replies
  • August 24, 2022

@Avokadomos Unless I’m using it incorrectly though, it doesn’t apply across other pages and files, only on the page where the overlay lives. The interactions apply everywhere when it’s interactions between variants because it’s part of that component, but not when it’s just an overlay interaction.


Avokadomos
  • Active Member
  • 377 replies
  • August 25, 2022

I’ve made a demo that shows how to make the navigation interaction persist between frames. You can inspect the design file.

Any interaction you add to the main navigation component will persist in instances across frames.


Lisa_Lessenger

So, I think I encountered something similar recently. I was wanting to show what would happen if someone opened a drop down menu. I made it a component so that the menu would be out of frame but still rendered. In the component, I have a fixed height for only the button to open the nav and then the drop down is below it still within the component frame. It is important here that you don’t clip content for the component. Unfortunately it appears that this does not work in auto layout (I swore I had got it to but maybe I remembered incorrectly). So what I did do is that the section it was in, I took out of auto layout. Again, do not clip it. The absolute location should keep from other frames covering the list.

Screen Shot 2022-08-24 at 2.38.38 PM
Screen Shot 2022-08-24 at 2.38.50 PM


Prabaharan_CS

Made dropdown component with variables https://www.figma.com/community/file/1256660046319231869


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings