MAKE A FIGMA DROPDOWN MENU IN 3 STEPS

Make A Figma Dropdown Menu in 3 steps

May 7, 2022 . Mostafa Lotfy

Whatever the design you're working on, it will (most probably) have a dropdown menu somewhere. So, in this article, I'll attempt to simplify making a dropdown menu in Figma. As a part of my Pinterest Clone in Figma exercise.

We'll use auto-layout, components, and variants. We'll create a prototype using interactive components.

Step 0: The starting point

Starting point in the Figma community file

I've already been working on a Pinterest Clone in Figma. I started from scratch and created a design for the home page. I even made the homepage design fully responsive with breaking points.

But, the design is not interactive. Pinterest has a lot of interactivity going on, even for a single page, but creating an interactive dropdown menu is not a bad place to start.

For this design, we're not starting from scratch. We'll build on the previous work. And focus only on the dropdown menu.

One thing to note, where I ended with the last vids, I had a component for almost every element in the design.

All the components of the design at its starting point

But for this file, I removed most of the components, to minimize the confusion, and only left the ones we'll need to work on, in the dropdown menu.

Inside the file:

We have a screenshot, just as a reference.

Screenshot of Pinterest's dropdown menu

Then we have the design frame, which we'll not do anything to. We'll only use it to present our prototype.

The frame holding the design, present it to try the prototype

The main area is the "components" frame. The reason I frame them together is to keep the page clean and organized while keeping all the elements on one page. Again, I kept only the components we'll need to work with.

Starting components

Most people have their components on a separate page, for me, I prefer it this way, and I found it important when I was prototyping a full design, with many pages and connections.

The first component we have is the header component. An instance of it is already added to the design, which means that any changes we make to the header component will automatically take place inside the design.

Header component

If you're unfamiliar with components, you can check the "Pinterest clone in Figma" playlist and it will get you familiar with it, another option is to watch "How I used Figma to create a full design and prototype for my website".

The second component is the dropdown button component. There is an instance of it inside the header, this is called a nested component, when you have a component (the dropdown button), inside another component (the header).

Dropdown button component

And since there is an instance of the header inside the design frame, any changes we make to the button will take effect inside the frame. And that's why we don't need to do anything with the design itself but present it.

Imagine having 10 pages where the header is used, how much effort and headaches are we saving by updating the header component only without needing to make changes to every single frame! That's why you should always use components.

Finally, we have a component for the profile image. An instance of it is inside the header component, and therefore also inside the design frame.

Profile image component

Now let's get to it, and start making the dropdown menu.

To follow along I made a Figma community file. Open the link while you're signed in to your Figma account, press on duplicate at the top right side of the page, and you'll have a copy of it in your drafts folder.

In this article/video we'll make a Figma Dropdown menu in three steps:

  1. Make A Hover state variant for the dropdown button component.
  2. Create A "Menu items" component with its variants.
  3. Make An open state variant for the dropdown button.

Below you'll find steps to act as a reference for those who watch the vid and want to quick way to remember the steps. Kind of the video notes.

Step 1: Create a hover variant

We'll start by creating a hover variant for the dropdown button component so that when we hover above the button it changes from its normal state to the hover state.

Dropdown button default and hover variants

So now the Dropdown Button has two variants, the first is "Default", and the second is "Hover".

Drop down button hover connection

dropdown button's hover state presented

When you hover above the Dropdown button component, it should change from the "default" state to the "Hover" state.

Step 2: Create Menu Items Components

The menu item component with all its variants

We'll create a third variant (an open state), that is going to show the menu. But first, we'll create a new component for the menu items. Why?

The dropdown menu, we want to make, has different items. Each item has a hover state. One way to deal with this is to create multiple dropdown menu variants. One where no element has a hover effect, then one for each item in hover. So if we have three items, we'll make 4 menus!

By creating a component for each of those items, and utilizing interactive components, we only create one dropdown menu.

If this makes no sense, keep on reading, and it will.

Also, the same elements which are inside the menu are used in other places in the Pinterest design, so by creating a component for them we only need to set them once and use them everywhere.

Also, the same element is repeated multiple times in the menu, why create it multiple times? And when we decide to update it we'll have to select the same element in different places, bad business!

Therefore we'll first create the menu items, then in the next step, we'll create an open state for the dropdown button, we'll attach the menu to it and use these elements. Now we'll set each element once and use it everywhere, and also update it once when we need to, and it will update everywhere. Not just inside the menu but also in other places on the page. Not just on this page, but also on other pages when we create them!

For the Pinterest Design, we're working on we'll create 4 menu items; Title, Text, Text & link icon, and user.

Make A Title Variant

Create the menu item component, starting with a text variant

Make A Text Variant

Add a text variant

Make A Text, Hover Variant

Add a text, hover variant

A Text & link icon Variant

Create a text & link icon variant

Create a text & link hover variant

Create a text & link icon Hover Variant

Create the User variant

Add another variant for the user item

Make a hover state for the User variant

Add the last variant: User Hover State

Step 3: Create a variant for the open state

The three drop-down button variants

Create the open variant

The dropdown button open variant

Dropdown button variant connections

Now the button will start in its default state, when you hover above it, it will change to the hover variant, if you click on the hover variant it will change to the open variant, and when you click on the open variant, it will return to default again.

Create the dropdown menu

Three dropdown button variants for its three states

You might want to present the design and have a look at it.

Add The rest of the menu items

The dropdown menu variant

Inside the Dropdown menu frame

And we're done! Check present the design frame to check your menu.

The Figma file after making the dropdown menu In the future, when I create multiple pages, I can link those buttons inside the menu to them. For example, if I have a "Settings" page. I can link the Settings button inside the component to it, and it will work from anywhere inside the design.

Dropdown menu in action