Introduction Modules Flavors Customization Quick Reference  Github
Core Grid Navigation Input Control Table Card Tab Contextual Progress Utility

Navigation

The navigation module seeks to remedy the problems of vertical and horizontal navigation design paradigms, by combining the two for a better presentational effect. HTML5 navigational elements are at the heart of the module, allowing you to quickly build your navigation without complicated structures and hacks.

All examples showcased refer to the mini-default flavor, some class names and styles might differ based on the flavor you're using.

Quick overview

Menus and navigation are some of the most important elements for any website or web app and their design and ease-of-use are key factors that can determine a page's bounce rates. The navigation module takes a step back from all the complicated menu and navigation design paradigms of the modern web, like dropdown menus and hamburger buttons, and tries to reinvent the basics for page navigation using HTML5 elements (i.e. header, nav and footer) and make navigation fully accessible for screen readers. Instead of sticking to either horizontal navigation menus (headers) or vertical menus (sidebars), we opted to allow the use of both for different things. Header menus are designed to stand out and contain links to help users find new content, whereas vertical navigation aims to provide a more traditional navigation menu that maps out your website's structure. Finally, footers are also part of the navigation module, as they can often provide the user with useful information and/or links that are very important to enhancing their experience.


Quick start

To customize the navigation module, duplicate an existing flavor file (we suggest you use the mini-default.scss flavor file) and use this page's variable tables and mixins as a reference to change only the values you need. Remember to compile your flavor file (not the module's partial file) using a Sass preprocessor (we highly recommend using sass-autocompile if you are working with Atom).


Header

The navigation module contains definitions for styling the <header> element, along with its contents (logo and links).


Variables
VariableTypeDescriptionSample value
$header-heightHeight The height of the <header> element44px
$header-back-colorColor Background color for the <header> element#263238
$header-fore-colorColor Text color for the <header> element#fafafa
$header-border-styleBorder Border style for the <header> element1px solid #424242
$header-marginMargin Margin for the <header> element0
$header-paddingPadding Padding for the <header> element2px 8px
$header-box-shadowBox shadow Box shadow for the <header> element0 1px 3px rgba(0,0,0, 0.1)
$header-logo-nameString Class name for the <header> element's logo'logo'
$header-logo-font-sizeFont size Font size for the <header> element's logo1.75em
$header-logo-line-heightLine height Line height for the <header> element's logo1.2
$header-logo-marginMargin Margin for the <header> element's logo1px
$header-logo-paddingPadding Padding for the <header> element's logo3px 0 0
$header-link-hover-colorColor Hover color for the <header> element's links#37474f
$header-link-marginMargin Margin for the <header> element's links2px 0 0
$include-header-stickyLogical Enables sticky <header> elements1true
$header-sticky-nameString Class name for the sticky <header> element1'sticky'

Notes:

  1. The value of $header-sticky-name will only be used if $include-header-sticky is set to true.

Navigation bar

The navigation module contains definitions for styling <nav> elements, along with the links they contain.


Variables
VariableTypeDescriptionSample value
$nav-back-colorColor Background color for <nav> elements#eceff1
$nav-fore-colorColor Text color for <nav> elements$fore-color
$nav-border-styleBorder Border style for <nav> elements1px solid #bdbdbd
$nav-border-radiusBorder radius Border radius for <nav> elements2px
$nav-marginMargin Margin for <nav> elements2px
$nav-paddingPadding Padding for <nav> elements8px
$nav-box-shadowBox shadow Box shadow for <nav> elements0 1px 3px rgba(0,0,0, 0.1)
$nav-link-fore-colorColor Text color for <nav> elements' links#1565c0
$nav-sublink-prefixString Class prefix for <nav> elements' subcategories'sublink'
$nav-sublink-depthInteger Amount of <nav> elements' subcategories2
$nav-sublink-padding-leftPadding left Left padding for <nav> elements' subcategories12px
$nav-include-sublink-barLogical Enables the sidebar for <nav> elements' subcategories1true
$nav-sublink-bar-left-positionPosition left Left position of the sidebar for <nav> elements' subcategories13px
$nav-sublink-bar-widthBorder width Width of the sidebar for <nav> elements' subcategories11px
$nav-sublink-bar-colorColor Color of the sidebar for <nav> elements' subcategories1#263238

Notes:

Footer

The navigation module contains various definitions for customizing the appearance of the <footer> element.


Variables
VariableTypeDescriptionSample value
$footer-back-colorColor Background color for the <footer> element#263238
$footer-fore-colorColor Text color for the <footer> element#fafafa
$footer-border-styleBorder Border style for the <footer> element1px solid #424242
$footer-font-sizeFont size Font size for the <footer> element85%
$footer-marginMargin Margin for the <footer> element18px 0 0
$footer-paddingPadding Padding for the <footer> element10px
$footer-link-fore-colorColor Text color for the <footer> element's links#039be5
$include-footer-stickyLogical Enables sticky <footer> elements1true
$footer-sticky-nameString Class name for the sticky <footer> element1'sticky'

Notes:

If you want to learn more about customizing mini.css, go back to the customization page or choose a module from the top menu to see its documentation.