Auto-Open Webflow Dropdowns With Just Attributes

Intermediate 18:46 webflowdropdownattributescmsno-code

Make Webflow dropdowns open on their own — on page load, on scroll, or from a link click — with just a few custom attributes and zero extra JavaScript.

Key takeaways

  • The whole thing is attribute-driven — one component of custom code reads your FC-drop-* values, so you configure every behavior from Webflow's settings panel without ever touching JavaScript.
  • A native Webflow dropdown can't hold two open at once (opening one closes the other), so for several auto-open dropdowns on a page you trigger each one on scroll-into-view instead of on load.
  • Binding an attribute's value to a CMS field is what lets you single out one dropdown inside a Collection List — otherwise any edit you make hits every item in the list.
  • The group attribute respects the visitor: once they open a dropdown themselves, the default auto-open backs off so it never reopens over their choice (until the page is refreshed).
  • Triggers and targets are matched by a shared value — bind it to the CMS slug for uniqueness — so a link can open one specific dropdown on the same page or on a completely different one.

Video chapters

  1. 00:00 Intro
  2. 00:50 One dropdown that opens automatically on page load
  3. 02:32 One CMS dropdown that opens automatically on page load
  4. 05:07 Multiple dropdowns that open automatically on scroll
  5. 07:40 How to disable the functionality based on the Webflow breakpoint
  6. 10:36 Define dropdown groups for better user experience
  7. 12:39 Click on a link to open a dropdown
  8. 17:24 Custom code sneak peek
  9. 18:07 Outro

Turn ordinary Webflow dropdowns into ones that open on their own — automatically on page load, as they scroll into view, or when someone clicks a link or a button — using nothing but a handful of custom attributes. No extra JavaScript library, no editing code: you clone one project, drop in the attributes, and configure everything from Webflow’s settings panel.

Why bother? An open dropdown is a spotlight. Maybe it’s the key question on an FAQ page, the first module of a course you’re selling, or a section you want a link to jump straight into. This approach covers all of those — single dropdowns, CMS-driven ones, multiple sections, mobile exceptions, and cross-page links — with the same tiny set of attributes.

How it works

Everything runs off one small block of custom code that ships inside a component you clone. It reads your attributes and does the rest, so you never open the code editor. The simplest case is a single dropdown that opens on load: select the dropdown element itself (not the dropdown toggle) and give it FC-drop-behavior="open". Publish, and it’s open the moment the page loads. That’s the whole thing.

CMS content needs one extra idea. Anything you change on an element inside a Collection List applies to every item in that list, so you can’t just set the attribute to open and expect a single dropdown to react. The fix is Webflow’s ability to bind an attribute’s value to a CMS field: add a plain-text field (say, “open behavior”) to the collection, type open on the one item you want and leave it blank on the rest, then bind FC-drop-behavior to that field. Now only the item whose field says open actually opens.

Opening several dropdowns at once calls for a different mental model. A native Webflow dropdown is built so that clicking anywhere else closes it — two can never be open together. So when you have separate sections that each hold their own list, you don’t open them all on load; you open each one as it scrolls into view. Because the sections are far enough apart that only one is ever on screen, the result feels identical to “always open” without fighting Webflow’s behavior — and it’s still the same FC-drop-behavior="open" attribute driving it. If you’d rather not run this on small screens, add FC-drop-breakpoint-off and set it to the breakpoint from which the feature should switch off (landscape or portrait, for example); it reacts to viewport resizing, turning on and off as you cross that point.

Two final touches make it feel considerate. First, groups: put FC-drop="group" on the list or div that wraps a set of dropdowns, and once a visitor opens one themselves, the default auto-open stops for that group — so scrolling away and back won’t reopen the default over what they chose (a refresh resets it). Second, click-to-open: give the trigger a FC-drop-source attribute and the dropdown a matching FC-drop-target with the same value, and clicking the link opens that specific dropdown, on the same page or a different one, scrolling it into view. For links coming out of a Collection List, bind both values to the slug field — slugs are always unique, so each link maps cleanly to its own dropdown. And arriving via a trigger link automatically suppresses the default dropdown for that visit.

How to use it

  1. Clone the project. Grab the Webflow cloneable — it includes the structure and the custom-code component, with all the configuration documentation right on the page.

  2. Add the component to every page that uses it. Because the code lives in a component, copy it onto each page where dropdowns rely on this behavior — including pages that only host a target dropdown opened by a link elsewhere.

  3. Open one on load. Select the dropdown element (not the toggle) and add FC-drop-behavior="open". Publish and check the live link.

  4. Do the CMS version. Add a plain-text field to your collection, set it to open on the single item you want, and bind FC-drop-behavior to that field on the dropdown inside the Collection List.

  5. Open one per section on scroll. For multiple lists across separate sections, put FC-drop-behavior="open" on one dropdown in each; they’ll open as each section scrolls into view.

  6. Add a breakpoint exception (optional). On any dropdown you want to tame, add FC-drop-breakpoint-off with a breakpoint name to turn the behavior off from that breakpoint down.

  7. Group your dropdowns (optional). Add FC-drop="group" to each list or div wrapping a set of dropdowns so the auto-open steps aside once a visitor takes over.

  8. Wire up link triggers. Put FC-drop-source on the link or button and FC-drop-target on the dropdown, using the same value on both. For CMS links, bind both to the slug field so each trigger opens its own unique dropdown.

Configuration reference

Attribute Values Default What it does
FC-drop-behavior open Put this on the dropdown element itself (not the toggle) to make it open automatically — on page load, or on scroll into view when several are on a page. Bind its value to a CMS field to control it per collection item.
FC-drop-breakpoint-off a Webflow breakpoint name (e.g. landscape, portrait) Add it to a dropdown to switch the auto-open off from a given breakpoint and down — handy when you don't want content shifting on smaller screens. It listens to viewport resizing, so it turns on and off as you cross that breakpoint.
FC-drop group Put this on the list or div that wraps a set of dropdowns. Once a visitor opens one themselves, the default auto-open stops for that group so it won't reopen over their choice — a page refresh resets it.
FC-drop-source a unique identifier you choose (bindable to the CMS slug) Goes on the link or button that should open a dropdown. Give it a meaningful value; for links inside a Collection List, bind it to the slug field so every trigger stays unique.
FC-drop-target the same value as its matching source Goes on the dropdown you want a trigger to open. Match its value to the source attribute — same page or a different one — and clicking the link opens that dropdown and scrolls it into view.

Resources

Frequently asked questions

How do I make a Webflow dropdown open automatically on page load?
Add a single custom attribute to the dropdown element (not the toggle) and set its value to open. Publish the project and that dropdown opens by itself when the page loads — with no JavaScript to write.
How can I open just one dropdown inside a CMS Collection List?
Any attribute you add to an element inside a Collection List applies to every item. To single one out, add a plain-text field to the collection, set it to open on the one item you want, and bind the attribute's value to that field.
Can two Webflow dropdowns stay open at the same time?
Not with a native dropdown — opening one closes the other by design. The workaround is to trigger each dropdown to open as it scrolls into view, so only the one currently on screen is ever open.
How do I open a dropdown by clicking a link or a button?
Give the link a source attribute and the dropdown a target attribute with the same value; clicking the link opens the matching dropdown, even on another page. For CMS links, bind both values to the slug so each one stays unique.
Will auto-opening annoy visitors who are already reading?
You can wrap a set of dropdowns in a group so that once someone opens one themselves, the automatic behavior stops for that group and won't reopen the default over their choice until the page is refreshed.

← Back to the course

Also part of these courses