How can I show different svg icons based on whether the menu is open or closed in Webflow?

Published on
September 22, 2023

To show different SVG icons based on whether the menu is open or closed in Webflow, you can utilize Webflow's built-in interactions and the "Toggle" feature.

  1. Create two separate SVG elements: One for the open state and one for the closed state. You can either import the SVG files or use Webflow's vector editor to create the icons.

  2. Add a class to each SVG: Give each SVG element a unique class name. For example, you can name the open state icon class "open-icon" and the closed state icon class "closed-icon". You can do this by selecting each SVG element and adding a class name in the right sidebar.

  3. Apply initial styling: Set the display property of the "open-icon" class to display:none in the style panel. This will hide the open state icon by default.

  4. Create a toggle interaction: In the Webflow Designer, go to the Interactions panel and click on the "+" button to create a new interaction. Choose the element or symbol that triggers the menu toggle as the interaction trigger (e.g., a hamburger icon).

  5. Add actions for the open and close states: In the interaction editor, click on the "+" button under the "Start" section to add an action. Select the "hide" option and choose the "open-icon" class to hide the open state icon when the toggle is triggered.

  6. Add actions for the close state: Again, click on the "+" button under the "Start" section to add another action. This time, select the "hide" option and choose the "closed-icon" class to hide the closed state icon when the toggle is triggered.

  7. Set the icon display based on toggle state: After adding the hide actions, you can now add actions to show the corresponding icon depending on the toggle state. Click on the "+" button under the "Complete" section to add an action. Select the "show" option and choose the class of the icon you want to display - either "open-icon" or "closed-icon" based on the toggle state.

  8. Apply the interaction: Assign the interaction you created to the menu toggle element by selecting it and choosing the interaction from the "Interactions" dropdown in the right sidebar.

With these steps, the SVG icons will change based on whether the menu is open or closed in Webflow. When the menu toggle is triggered, the open state icon will be hidden and the closed state icon will be shown, and vice versa.

Additional questions:

  1. How to create interactions in Webflow?
  2. Can I use custom SVG icons in Webflow?
  3. How do I customize the style of SVG elements in Webflow?