Description
Modern admin's navigation use default perfect scrollbar, however it provides option to use default browser scroll bar. Check navigation with default scrollbar in navigation menu.
Advantages
- Most of all latest mobile operating systems and some mobile browsers automatically hide address-bar or tab-bar components when the user scrolls through the page. Using native scrolling enables this behavior.
- Native scrolling performs more smoother and faster as compared to the JavaScript or overflow: auto scrolling emulations.
This table contains all classes related to the vertical navigation with default scrollbar option.
All these options can be set via following classes:
Classes | Description |
---|---|
.menu-native-scroll |
To create vertical navigation with native scroll, you need
to add .menu-native-scroll class in navigation
<div> tag. Refer HTML markup line no
12.
|
This section contains HTML Markup to create vertical navigation with native scroll. It define where to add css classes to make vertical navigation with native scroll.
-
Line no 12: Contain the
.menu-native-scroll
class to set vertical navigation with native scrollbar.
<!DOCTYPE html>
<html lang="en">
<head></head>
<body data-menu="vertical-menu" class="vertical-layout vertical-menu 2-column menu-expanded">
<!-- navbar-static-top-->
<nav role="navigation" class="header-navbar navbar-expand-sm navbar navbar-with-menu navbar-static-top navbar-dark navbar-shadow navbar-border">
...
</nav>
<!-- BEGIN Navigation-->
<div class="main-menu menu-dark menu-native-scroll 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>
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 vertical navigation with right side icons position.
Block | Variable | Datatype | Value | Description |
---|---|---|---|---|
verticalMenuConfig |
menuNativeScroll |
boolean |
true |
verticalMenuConfig block has a menuNativeScroll variable, it contains navigation specific classes in that
you need to add true . |
PUG Code
Use following PUG code to generate page or template having vertical navigation right side icons.
-
Line no 20-21: Set vertical navigation native scroll class
to
menuNativeScroll
variable value astrue
inverticalMenuConfig
block. -
Line no 27-28:
content
block has content section html file includedinclude ../contents/vertical-navigation-native-scroll.html
, which can be customizable on page level.
If you want to use vertical navigation with native scrollbar on page
level you need to define it on page it self. This template has
one example pug file for vertical-navigation-native-scroll.pug
,
however you can use it on template level but it will generate whole
template have vertical navigation right side icons.
block pageVars
- var pageTitle = "Native Scroll"
- var pageSubTitle = "Vertical navigation with native scroll"
- var description = "Vertical navigation with native scroll use default browser native scroll."
- var activeMenu = "vertical-nav-native-scroll"
extends template
append verticalMenuConfig
- var menuNativeScroll = true
append breadcrumbs
+breadcrumbs([{url:"index.html",name:"Home"},{url:"#",name:"Navigation"}, {name:"Native scroll"}])
//- Include page content in page block
append content
include ../contents/vertical-nav-native-scroll.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