Fixed Layout

Fixed navbar, navigation & Footer

The fixed layout page structure have fixed navbar, navigation and footer.

Description

The fixed layout has a fixed navbar, navigation menu and footer only content section is scrollable to user. In this page you can experience it. Fixed layout provide seamless UI on different screens.

CSS Classes

This table contains all classes related to the fixed layout. This is a custom layout classes for fixed layout page requirements.

All these options can be set via following classes:

Classes Description
.navbar-fixed-top To set navbar fixed you need to add .navbar-fixed-top class in navbar <nav> tag. Refer HTML markup line no 7.
.menu-fixed To set the main navigation fixed on page .menu-fixed class needs to add in navigation wrapper. Refer HTML markup line no 12.
.footer-fixed To set the main footer fixed on page .footer-fixed class needs to add in footer wrapper. Refer HTML markup line no 37.

HTML Markup

This section contains HTML Markup to create fixed layout. This markup define where to add css classes to make navbar, navigation & footer fixed.

  • Line no 7: Contain the .navbar-fixed-top class for adjusting navbar fixed on top.
  • Line no 12: Contain the .menu-fixed class for adjusting main navigation on left side.
  • Line no 37: Contain the .footer-fixed class for adjusting fixed footer.

Robust has a ready to use starter kit, you can use this layout directly by using the sk-fixed.html

        
            <!DOCTYPE html>
              <html lang="en">
                <head></head>
                <body data-menu="vertical-menu" class="vertical-layout vertical-menu 2-column menu-expanded">

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

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

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

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

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

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

                </body>
              </html>
        
        

JADE Configuration

Robust 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 fixed layout.

Variable Value Description
headerCustom 'navbar-fixed-top' You need add navbar fixed class to headerCustom variable value as 'navbar-fixed-top' in headerConfig block.
menuCustom 'menu-fixed' You need add navigation fixed class to menuCustom variable value as 'menu-fixed' in menuConfig block.
footerCustom 'footer-fixed' You need add footer fixed class to footerCustom variable value as 'footer-fixed' in footerConfig block.
JADE Code

To generate fixed layout page or template, you need to use following JADE code.

  • Line no 20-21: headerConfig block has a headerCustom variable, it contains navbar specific classes in that you need to add navbar-fixed-top
  • Line no 23-24: menuConfig block has a menuCustom variable, it contains navigation specific classes in that you need to add menu-fixed
  • Line no 26-27: footerConfig block has a footerCustom variable, it contains footer specific classes in that you need to add footer-fixed
  • Line no 37-38: content block has content section html file included include ../contents/layout-fixed.html, which can be customizable on page level.

If you want to use this layout on page level you need to define it on page it self. This template has one example jade file for fixed layout-fixed.jade, however you can use it on template level but it will generate whole template as a fixed layout.

              
                  block pageVars
                    - var pageTitle    = "Fixed Layout"
                    - var pageSubTitle = "Fixed layout with navigation"
                    - var description  = "Fixed layout page structure have fixed navbar, navigation and footer."
                    - var activeMenu   = "layout-fixed"

                  extends template

                  block headerConfig
                    - var headerCustom = "navbar-fixed-top navbar-dark navbar-shadow navbar-border" //- OPTIONS: navbar-dark, navbar-light, navbar-semi-dark, navbar-fixed-top, navbar-hide-on-scroll, navbar-border, navbar-shadow

                  block menuConfig
                    - var menuCustom = "menu-dark menu-fixed menu-shadow" //- OPTIONS : menu-border, menu-native-scroll, menu-icon-right menu-fixed

                  block footerConfig
                    - var footerCustom = "footer-dark footer-fixed" //- OPTIONS: footer-dark, footer-transparent, footer-fixed

                  append breadcrumbs
                    include ../includes/mixins
                    +breadcrumbs([{url:"index.html",name:"Home"},{url:"#",name:"Page Layouts"}, {name:"Fixed Layout"}])

                  append page-header
                    include page-headers/breadcrumb-top

                  //- Include page content in page block
                  append content
                    include ../contents/layout-fixed.html

                  //- Page specific dependency
                  //------------------------------

                  //- Add custom page specific CSS
                  block pagecss
                    link(rel='stylesheet', type='text/css', href='robust-assets/css/plugins/ui/prism.min.css')

                  //- Add custom page specific JS
                  block pagejs
                    script(type='text/javascript' ,src='robust-assets/js/plugins/ui/prism.min.js')