Description
The fixed navbar & navigation layout has a fixed navbar, navigation menu and static footer only content section is scrollable to user. In this page you can experience it. Fixed navbar & navigation layout provide best usability and modularity.
CSS Classes
This table contains all classes related to the fixed navbar & navigation layout. This is a custom layout classes for fixed navbar & navigation layout page requirements.
All these options can be set via following classes:
Classes | Description |
---|---|
.fixed-top |
To set navbar fixed you need to add .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. |
This section contains HTML Markup to create fixed navbar & navigation layout. This markup define where to add css classes to make fixed navbar, navigation and static footer .
-
Line no 7: Contain the
.fixed-top
class for adjusting navbar fixed on top. -
Line no 12: Contain the
.menu-fixed
class for adjusting main navigation on left side.
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 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-dark menu-fixed 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 right-->
<div class="content-right">
...
</div>
<!-- content right-->
</div>
</div>
<!-- END Content-->
<!-- START FOOTER DARK-->
<footer class="footer footer-dark">
...
</footer>
<!-- START FOOTER DARK-->
</body>
</html>
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 fixed navbar & navigation layout.
Block | Variable | Datatype | Value | Description |
---|---|---|---|---|
navbarConfig |
navbarPosition |
string |
'fixed-top' |
navbarConfig block has a navbarPosition variable, it contains navbar position specific classes
in that you need to set 'fixed-top' |
verticalMenuConfig |
menuType |
string |
'menu-fixed' |
verticalMenuConfig block has a menuType variable, it contains vertical layout navigation type specific
classes in that you need to set 'menu-fixed' for fixed vertical navigation. |
horizontalMenuConfig |
menuType |
string |
'navbar-fixed' |
horizontalMenuConfig block has a menuType variable, it contains horizontal layout navigation type
specific classes in that you need to set 'menu-fixed' for fixed horizontal navigation. |
PUG Code
To generate fixed navbar & navigation layout page or template, you need to use following PUG code.
-
Line no 22-23: Set navbar fixed class to
navbarCustom
variable value as'fixed-top'
innavbarConfig
block. -
Line no 25-26: Set vertical layout navigation type class
to
menuType
variable value as'menu-fixed'
inverticalMenuConfig
block. -
Line no 28-29: Set horizontal layout navigation type class
to
menuType
variable value as'menu-fixed'
inverticalMenuConfig
block. -
Line no 35-36:
content
block has content section html file includedinclude ../contents/layout-fixed-navbar-navigation.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 fixed
layout-fixed-navbar-navigation.pug
, however you can
use it on template level but it will generate whole template as
a fixed navbar & navigation layout.
block pageVars
- var pageTitle = "Fixed Navbar & Navigation"
- var pageSubTitle = "Fixed navbar with fixed navigation"
- var description = "The fixed navbar & navigation page structure have fixed navbar and navigation, static footer."
- var activeMenu = "layout-fixed-navbar-navigation"
extends template
append pageConfig
append navbarConfig
- var navbarPosition = "fixed-top"
append horizontalMenuConfig
- var horizontalMenuType = 'navbar-fixed'
append verticalMenuConfig
- var menuType = 'menu-fixed'
append breadcrumbs
+breadcrumbs([{url:"index.html",name:"Home"},{url:"#",name:"Page Layouts"}, {name:"Fixed Navbar"}])
//- Include page content in page block
append content
include ../contents/layout-fixed-navbar-navigation.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