Description

Default dropdown menu opens on hover. Via data attributes data-open="hover" or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the .open class on the parent list item.

HTML Markup

This section contains HTML Markup to create light vertical navigation. This markup define where to add css classes to make vertical navigation light.

  • Line no 4: Contain the data-open attribute has hover in body tag. Option data-open="hover" will open all the dropdown on hover.
        
            <!DOCTYPE html>
              <html lang="en">
                <head></head>
                <body data-open="hover" data-menu="vertical-menu" class="vertical-layout vertical-menu 2-column menu-expanded">

                  <!-- fixed-top-->
                  <nav role="navigation" class="header-navbar navbar-expand-sm navbar navbar-with-menu fixed-top navbar-dark navbar-shadow navbar-border">
                      ...
                  </nav>

                  <!-- BEGIN Navigation-->
                  <div class="main-menu menu-light menu-shadow">
                      ...
                  </div>
                  <!-- END Navigation-->

                  <!-- BEGIN Content-->
                  <div class="content app-content">
                      <div class="content-wrapper">
                          <!-- content header-->
                          <div class="content-header row">
                              ...
                          </div>
                          <!-- content header-->

                          <!-- content body-->
                          <div class="content-body">
                              ...
                          </div>
                          <!-- content body-->

                      </div>
                  </div>
                  <!-- END Content-->

                  <!-- START FOOTER DARK-->
                  <footer class="footer footer-dark">
                      ...
                  </footer>
                  <!-- START FOOTER DARK-->

                </body>
              </html>
        
        

JADE Configuration

Stack Admin use JADE as template engine to generate pages and whole template quickly using node js, for getting start with JADE usage & template generating process please refer template documentation.

JADE Variables

This table contains required JADE variables to generate vertical navigation light.

Block Variable Datatype Value Description
pageConfig menuOpen string 'hover' pageConfig block has a menuOpen variable, it contains navigation specific classes in that you need to set 'hover' to open dropdown on hover.
JADE Code

Use following JADE code to generate page or template having vertical light navigation.

  • Line no 20-21: Set dropdown open on hover settings to menuOpen variable value as 'hover' in pageConfig block.
  • Line no 27-28: content block has content section html file included include ../contents/horizontal-navigation-submenu-hover.html, which can be customizable on page level.

If you want to use dropdown menu open options on page level you need to define this configuration option on JADE page it self. This template has one example jade file for horizontal-navigation-submenu-hover.jade, however you can use it on template level but it will generate template all pages with the same configuration option.

              
                block pageVars
                  - var pageTitle    = "Sub Menu on Hover"
                  - var pageSubTitle = "Horizontal navigation submenu hover"
                  - var description  = "Configuration options to open horizontal navigation dropdown menus & submenus on hover."
                  - var activeMenu   = "horizontal-nav-submenu-hover"

                extends template

                append pageConfig
                  - var menuOpen = "hover"

                append breadcrumbs
                  +breadcrumbs([{url:"index.html",name:"Home"},{url:"#",name:"Horizontal Navigation"}, {name:"Sub Menu on Hover"}])

                //- Include page content in page block
                append content
                  include ../contents/horizontal-nav-submenu-hover.html

                //- Vendor CSS
                //------------------------------
                //- Add Vendor specific CSS
                append vendorcss

                //- Page CSS
                //------------------------------
                //- Add custom page specific CSS
                append pagecss

                //- Vendor JS
                //------------------------------
                //- Add vendor specific JS
                append vendorjs

                //- Page JS
                //------------------------------
                //- Add custom page specific JS
                append pagejs