How to make a multi-column drop down menu for one section in Dawn theme?

Topic summary

Goal: Make only one top-level menu item (‘BRANDS’) display a multi-column dropdown in the Dawn theme while keeping all other dropdowns single-column.

Solution: Use desktop-only CSS (min-width: 750px) that first makes all submenus multi-column (wide submenu width; list items at one-third width), then override all except the target submenu back to single-column using :not() selectors. The target submenu is identified by its UL id (e.g., #HeaderMenu-MenuList-4), which retains the multi-column styling.

Key CSS ideas:

  • .header__submenu.list-menu: wide width for multi-column
  • .header__submenu.list-menu li: width: calc(100%/3) for columns
  • .header__submenu:not(ul#HeaderMenu-MenuList-4): revert others to narrow width
  • .header__submenu li:not(ul#HeaderMenu-MenuList-4 li): revert others’ items to 100% width

Outcome: Original poster confirmed the code works and accepted it as the solution.

Notes:

  • The exact id (#HeaderMenu-MenuList-4) must match the BRANDS submenu; it may differ per store/menu setup.
  • Applies to desktop (≥750px) only.
  • Screenshots illustrate the desired layout; not required to implement.

Current status: Another participant asked where to add the CSS (e.g., theme stylesheet/component-list-menu.css). No answer yet; guidance pending.

Summarized with AI on December 18. AI used: gpt-5.

Hi there,

I’m trying to refine this snippet of code that’s at the component-list-menu.css from another thread. The coding works great however I only need 1 section of my nav bar ‘BRANDS’ to be a multi-column drop down and the rest to be as normal.

Preview link is https://xi2c77tf8ip94lhr-36045684869.shopifypreview.com

Coding used is :

@media only screen and (min-width: 750px){
	.header__submenu.list-menu{
		width: 60rem !important;
	}
	.header__submenu.list-menu li {
		width: calc(100%/3);
		display: inline-block;
	}
}

Screenshot below is example of the only multi-column drop down I need in the nav bar

Thanks!

Hi @joedogfish

I understood your concern and realised that you achieve it using the below code. Those CSS applied all sub menus except the brand’s sub menu. I believe this can help you to resolve the issue.

Please add below code:

@media only screen and (min-width: 750px){
	.header__submenu.list-menu{
		width: 60rem !important;
	}
	.header__submenu.list-menu li {
		width: calc(100%/3);
		display: inline-block;
	}
	.header__submenu:not(ul#HeaderMenu-MenuList-4) {
        width: 20rem !important;
    }
    .header__submenu li:not(ul#HeaderMenu-MenuList-4 li) {
        width: 100% !important;
    }
}

Happy Coding!!

1 Like

Thank you so much!! liked and accepted as solution!

Where do I add the above code to make my brand menu multi-column? Below is an example of what I am aiming to do. Thank you