Content Right Sticky Sidebar

Description

Content layout with right sticky sidebar provides more navigations options on page level. For the larger screen this layout provides best usability. This layout use the third column as a sticky sidebar section.

CSS Classes

This table contains all classes related to the content right sticky sidebar layout. This is a custom layout classes for content right sticky sidebar layout page requirements.

All these options can be set via following classes:

Classes Description
.content-right-sidebar You can create 3 column right layout by adding .content-right-sidebar class in <body> tag.
.content-left In this layout content should be float in right side, so .content-left class needs to add in content wrapper. Refer HTML markup line no 27.
.sidebar-right In this layout sidebar should be float in right side, so .sidebar-right class needs to add in sidebar wrapper. Refer HTML markup line no 33.
.sidebar-sticky To create sticky sidebar add .sidebar-sticky class. Refer HTML markup line no 34.

HTML Markup

This section contains HTML Markup to create 3 column right sticky sidebar layout. You need to add the .content-right-sidebar class in the <body> tag as show in below markup on line no 4. This layout has a navigation, content and right sidebar sections with common header & footer.

  • Line no 27: Contain the .content-left class for adjusting content section in left side.
  • Line no 33: Contain the .sidebar-right class for adjusting sidebar section in right side.
  • Line no 34: Contain the .sidebar-sticky class, that will make the right sidebar sticky.

Modern has a ready to use starter kit, you can use this layout directly by using the starter kit pages from the modern-admin/starter-kit folder.

        
            <!DOCTYPE html>
              <html lang="en">
                <head></head>
                <body data-menu="vertical-menu" class="vertical-layout vertical-menu content-right-sidebar 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 app-content container-fluid">
                      <div class="content-wrapper">
                          <!-- content header-->
                          <div class="content-header row">
                              ...
                          </div>
                          <!-- content header-->
                          
                          <!-- content left-->
                          <div class="content-left">
                              ...
                          </div>
                          <!-- content left-->
                          
                          <!-- sidebar right-->
                          <div class="sidebar-right">
                              <div class="sidebar sidebar-sticky">
                                  ...
                              </div>
                          </div>
                          <!-- sidebar right-->
                          
                      </div>
                  </div>
                  <!-- END Content-->
                  <!-- START FOOTER DARK-->
                  <footer class="footer footer-dark">
                      ...
                  </footer>
                  <!-- START FOOTER DARK-->
                </body>
              </html>
        
        

PUG Configuration

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

PUG Variables

This table contains required PUG variables to generate 3 column right sticky sidebar layout.

Block Variable Datatype Value Description
pageConfig contentLayout string 'content-right-sidebar' pageConfig block has a page configuration variables, in that for 3 column layout need to define variable - var contentLayout = 'content-right-sidebar'
pageConfig sidebarSticky boolen true To make right sticky sidebar pageConfig block also require - var sidebarSticky = true configuration variables, set value as true to enable it.
PUG Code

To generate content right sticky sidebar layout page or template, you need to use following PUG code.

  • Line no 20-22: You need to set contentLayout variable value as 'content-right-sidebar' in pageConfig block.
  • Line no 22: You need to set sidebarSticky variable value as true in pageConfig block to enable right sticky sidebar.
  • Line no 28-29: content block has content section html file included include ../contents/layout-content-right-sticky-sidebar.html, which can be customizable on page level.
  • Line no 30-31: sidebar block has sidebar section html file included include ../contents/sidebar-common.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 pug file for content right sticky sidebar layout-content-right-sticky-sidebar.pug, however you can use it on template level but it will generate whole template as a content right sticky sidebar.

                
                block pageVars
                	- var pageTitle    = "Content Right Sticky Sidebar"
                	- var pageSubTitle = "content layout with right sticky sidebar"
                	- var description  = "The content layout page structure with navigation, content area and right sticky sidebar."
                	- var activeMenu   = "layout-content-right-sticky-sidebar"
                
                extends template
                
                append pageConfig
                	- var contentLayout = 'content-right-sidebar'
                	- var sidebarSticky = true
                
                append breadcrumbs
                	+breadcrumbs([{url:"index.html",name:"Home"},{url:"#",name:"Page Layouts"}, {name:"Content Right Sidebar Sticky"}])
                
                //- Include page content in content block
                append content
                	include ../contents/layout-content-right-sticky-sidebar.html
                
                append sidebar
                	include ../contents/sidebar-common.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