Navigation for Angular and Ionic Framework

Updated on May 17, 2021

UI for navigation featuring Hamburger menu, Bottom and Tab navigation components.

Use it on responsive websites and mobile apps. Together with the mobiscroll Page component makes an easy to use tool for building a great Navigation experience.

Shipping with useful features for a refined UX, including:

  • Usage on mobile and desktop with responsive features
  • Icons and labels for expressive nav targets
  • Ergonomic bottom navigation
  • Scrollable tab-list
  • Compact hamburger menu for saving space
  • Multiple theme support
  • Top, bottom and inline display support
  • RTL Support
  • Full localization


Navigation demos available for other frameworks.

Viewing demos & code for

Angular and Ionic Navigation Navigation for Angular and Ionic Framework

Navigation - Bottom navigation

Change demo
Bottom navigation

Use the bottom navigation for the top level navigation solution in your app. When you navigate between pages of the same level of hierarchy, it gives a consistent look on each page. While it can also be rendered on the top of the viewport, on mobile handheld devices the bottom navigation bar is the easiest to reach. It's ergonomic.

Navigation items can be used with both icons and labels. Additionally every item can show a badge, containing dynamic information. For example the number of unread notifications.

The bottom navigation component automatically hides navigation items behind a "More" button, when the viewport is not wide enough. This behavior can be further customized with the layout settings.

For organizing content into categories  Check out the Tabs navigation →
Copy code

Navigation - Tabs

Change demo
Tabs

Use the tab navigation for organizing content into categories.

The tab navigation component supports swipe gestures for the tab-list, which makes the component a scalable solution for as many tabs as needed.

Tabs can combine icons and labels to be more expressive like in this demo.

Navigating between tabs can also be customized. Check out the demo for handling navigation with external buttons.

Short on screen space and need a menu button?  Check out the Hamburger navigation →
Copy code

Navigation - Hamburger menu

Change demo
Hamburger menu

The hamburger menu is a compact and well known solution for grouping destinations that need to be accessible from multiple pages.

One of the advantages it has over the Tabs or the Bottom navigation is that it hides the nav-items and saves space.

The menu button can be customized to suit your needs with the menuIcon and menuText settings.

Designing for multiple screen sizes?  Check out the Responsive demo →
Copy code

Navigation - Prev/Next

Change demo
Prev/Next

The Tab navigation component is customizable in a variety of ways. This demo shows how to add custom Prev/Next buttons beside the Tab component and how to make page change obvious.

If you are looking for the simplest solution in grouping content, have a look on the previous tabs demo.

For more customization  Check out the Event handlers demo →
Copy code
import { Component } from '@angular/core';
import { MbscNavOptions, MbscListviewOptions } from '@mobiscroll/angular';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html'
})
export class AppComponent {
    tabSettings: MbscNavOptions = {
        lang: ' ',
        theme: ' ',
        themeVariant: ' '
    };

    tabs = ['food', 'tech', 'life', 'sport', 'travel', 'music'];
    currentTab = 'food';

    listviewSettings: MbscListviewOptions = {
        lang: ' ',
        theme: ' ',
        themeVariant: ' ',
        enhance: true,
        striped: true,
        swipe: false
    };

    setTab(tab) {
        this.currentTab = tab;
    }

    prev() {
        if (this.currentTab !== this.tabs[0]) {
            const currTab = this.currentTab;
            const i = this.tabs.findIndex(function (el) {
                return el === currTab;
            });
            this.currentTab = this.tabs[i - 1];
        }
    }

    next() {
        if (this.currentTab !== this.tabs[this.tabs.length - 1]) {
            const currTab = this.currentTab;
            const i = this.tabs.findIndex(function (el) {
                return el === currTab;
            });
            this.currentTab = this.tabs[i + 1];
        }
    }
}
<mbsc-tab-nav [options]="tabSettings">
    <mbsc-nav-item [selected]="currentTab == 'food'" (click)="setTab('food')">Food</mbsc-nav-item>
    <mbsc-nav-item [selected]="currentTab == 'tech'" (click)="setTab('tech')">Technology</mbsc-nav-item>
    <mbsc-nav-item [selected]="currentTab == 'life'" (click)="setTab('life')">Lifestyle</mbsc-nav-item>
    <mbsc-nav-item [selected]="currentTab == 'sport'" (click)="setTab('sport')">Sport</mbsc-nav-item>
    <mbsc-nav-item [selected]="currentTab == 'travel'" (click)="setTab('travel')">Travel</mbsc-nav-item>
    <mbsc-nav-item [selected]="currentTab == 'music'" (click)="setTab('music')">Music</mbsc-nav-item>
</mbsc-tab-nav>

<mbsc-listview [options]="listviewSettings" *ngIf="currentTab == 'tech'">
    <mbsc-listview-item>
        <h3>Electric Smartscooter</h3>
        <p>Gogoro Smartscooter is world’s first connected two-wheeled electric vehicle. The Smartscooter uses the precision, processes and materials utilizes for supercars to offer top performance, physically and technically sublime.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>The Solar Bike</h3>
        <p>Leaos Solar E-Bike is a self-sufficient electric bike that incorporates solar panels in its carbon framework producing enough energy to use it 30 km a day. The solar Leaos is a high-tech jewelry with high aesthetic standards.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Smallest Quadricopter</h3>
        <p>The Dutch gadget-manufacturer TRNDlabs reveals the smallest quadricopter of the world, the Nano Skeye Drone. The high thrust and low weight of the object allows users to quickly perform amazing maneuvers with a simple touch of joysticks. Bright
            LEDs have also been incorporated into the Drone in order to drive in low-light conditions.</p>
    </mbsc-listview-item>
</mbsc-listview>

<mbsc-listview [options]="listviewSettings" *ngIf="currentTab == 'food'">
    <mbsc-listview-item>
        <h3>Monochrome Pizzas</h3>
        <p>French creative studio Black Pizza commissioned the photographer Erwan Fichou and the bio independant chef Julie Basset to make the series “Pizza is the New Black” : a collection of monochrome pizzas, cooked with insolite objets and perfumes such
            as crab, lichee, candies, lipsticks, green peas and green plants.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Chocolate Texture Lounge Installation</h3>
        <p>For Maison&Objet 2015, Japanese studio Nendo took the little sculpted chocolates for Christmas ChocolaTexture to integrate them in the middle of a tasty installation staging a lounge area with brown furnitures. A chocolate wave made of 2000 pipes
            and a graduation was made for the event.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Restaurant with Trees Inside in Hanoi</h3>
        <p>H&P architects, based in Vietnam, has built the Cheering Restaurant, in the heart of the city Hanoi. The originality is in the fact that an old and big tree is set in the middle of the dining room, entirely imagined in wood and interspersed by
            canopies. Find out more in the gallery.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Vegetables Paper Art</h3>
        <p>For the opening of a blog named “Veg of the Day”, illustrator and designer Polly Lindsay has already started to cook a first batch of paper vegetables : an avocado, a red onion and a red pepper. She gives a precise work where we can easily admire
            the different reliefs and layers of her artworks.</p>
    </mbsc-listview-item>
</mbsc-listview>

<mbsc-listview [options]="listviewSettings" *ngIf="currentTab == 'life'">
    <mbsc-listview-item>
        <h3>Fox Village in Japan</h3>
        <p>Located in the prefecture of Miyagi, Japan, Zao Fox Village is a parc inhabited by six species of wild foxes that it’s possible to photograph and feed with food provided by the park. Some visitors have captured unique instants of this amazing
            experience and disclose us touching images.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Container House</h3>
        <p>Patrick Bradley developed Grillagh Water House for a picturesque site on his own farm near the town of Maghera, taking advantage of local legislation that allows farmers to build dwellings on their land. The containers were purchased in the town
            of Bangor and trucked to the site, before being assembled around a steel framework.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>The Urban Yoga</h3>
        <p>Artist, architect, dancer and yoga teacher, Anja Humljan thought the Urban Yoga project from an ambition : inviting people to experiment with their bodies what they feel, touch, smell, hear and taste in the city. She started series of photos in
            Paris, Madrid, New York and Ljubljana to change the way she feels and moves in the city. According to her, the city must not be felt as a disturbing space but more like a vital source of energy.</p>
    </mbsc-listview-item>
</mbsc-listview>

<mbsc-listview [options]="listviewSettings" *ngIf="currentTab == 'sport'">
    <mbsc-listview-item>
        <h3>Red Bull RB11 Formula 1 Car</h3>
        <p>The Red Bull RB11 is a Formula 1 racing car being designed by Adrian Newey for Infiniti Red Bull Racing to compete in the 2015 Formula 1 season.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>On Top of the World</h3>
        <p>The two young filmmakers Serhan Meewisse and Jurian Gravett invited 11 people to join the adventure of a film entitled “On Top of the World”. They crossed Europe, Turkey and Greece, without a real budget, but with will to all go away. The protagonists
            of video doesn’t speak and just leave us dreamy.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Wooden Skateboard</h3>
        <p>The two designers of the studio Sven Gabriel had the idea to create a skateboard made with a simple piece of wood, by adding the wheels and screws. The “Förster Skateboard” is thiner and more sharp than a traditional board. The outlines are made
            of tree’s bark. This beautiful board is to discover in images plus a video in the gallery.</p>
    </mbsc-listview-item>
</mbsc-listview>

<mbsc-listview [options]="listviewSettings" *ngIf="currentTab == 'travel'">
    <mbsc-listview-item>
        <h3>Portraits of African Female Warriors</h3>
        <p>The French street artist YZ tribute to African women warriors in her series entitled “Amazon”. These portraits refer to female soldiers of the First Franco-Dahomean War who actively fought face to the French army. Amazon is an ongoing project
            for which YZ still conducts researches in Senegal.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Deserted Mall Covered In Snow</h3>
        <p>Here is a series of photographs made by Seph Lawless. Seph is the pseudonym of an American photographer known for his photos on urban decay and abandoned areas across the United States. A selection of photographs from his book “Black Friday” is
            to discover later in the article, “The Last of Us” in real life.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Loi Krathong Festival in Thailand</h3>
        <p>Loi Krathong is a festival that is held each year in Thailand. Here the pictures are particularly beautiful, showing the intensity of the many fire lanterns shining high in the dark sky. A magic blazing show to discover in the following.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>People in The Alps Photography</h3>
        <p>Jakub Polomski is a Polish photographer specialized in travel photography. With its “Scale of Nature” series, the artist pays homage to mother nature. Pictures taken in the French & Swiss Alps are breathtaking and reminds us how the human being
            is very small and meaningless compared to nature.</p>
    </mbsc-listview-item>
</mbsc-listview>

<mbsc-listview [options]="listviewSettings" *ngIf="currentTab == 'music'">
    <mbsc-listview-item>
        <h3>Kwabs – Perfect Ruin</h3>
        <p>Singer and songwriter based in London, Kwabs reveals the visual of his song “Perfect Ruin”. Directed by George Bellfield, the video follows the artist wandering with chills through a winter landscape. His Love + War album will be available on
            May 18th via Atlantic Records.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Jungle – Julia</h3>
        <p>After “Time”, Busy Earnin’, “The Heat” and “Platoon”, English videomaker Oliver Hadlee Pearch has once again directed the latest music video of Jungle for their title “Julia”. Always on the dance theme, we see a man with make-up on his face dancing
            and jumping with a group of men in some kind of an arena. A production CLM Film, to discover.</p>
    </mbsc-listview-item>
    <mbsc-listview-item>
        <h3>Batman Evolution</h3>
        <p>The Piano Guys is a group of four American artists living in Utah, which became known on YouTube with covers of famous song. Here is a tribute to the soundtracks of the films Batman with the video “Batman Evolution” and all the different cars
            of the dark knight.</p>
    </mbsc-listview-item>
</mbsc-listview>

<div class="md-prev-btn mbsc-ic mbsc-ic-arrow-left5" (click)="prev()"></div>
<div class="md-next-btn mbsc-ic mbsc-ic-arrow-right5" (click)="next()"></div>
.md-prevnext-tab {
    display: none;
}

.md-prevnext-tab-sel {
    display: block;
}

.md-prev-btn,
.md-next-btn {
    position: absolute;
    top: 50%;
    margin-top: -35px;
    width: 35px;
    height: 70px;
    background: rgba(0, 0, 0, .5);
    line-height: 70px;
    font-size: 25px;
    text-align: center;
    color: #fff;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.md-prev-btn {
    left: 0;
}

.md-next-btn {
    right: 0;
}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule, HttpClientJsonpModule } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MbscModule } from '@mobiscroll/angular';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    MbscModule,
    FormsModule,
    ReactiveFormsModule,
    HttpClientModule,
    HttpClientJsonpModule
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

Navigation - Tabs with icons

Change demo
Tabs with icons

Add icons and labels to nav-items to be more informative. Build and save custom icon sets from over 2500 icons to choose from.

Use the scrollable tab-list for self-adjusting desktop & mobile content management.

Short on screen space and need a menu button?  Check out the Hamburger menu →
Copy code

Navigation - Event handlers

Change demo
Event handlers

The navigation components ships with different event hooks for deep customization. Events are triggered through the lifecycle of the component where you can tie in custom functionality and code. While users interact with the UI events like onItemTap, onMenuShow, onMenuHide ... will be triggered. Interact with the example and check the event log for the output.

For a complete list of events go to the documentation  See available lifecycle events →
Clear event log
EVENTS FIRED: 
Copy code

Navigation - Responsive

Change demo
Responsive

Set up the Navigation to behave responsively. Use the appriopriate positioning and rendering based on the screen size. You can have Hamburger menu on small screens and Tab navigation on large screens.

All this can be configured under the responsive setting where you pass the options for each breakpoint.

responsive: {
    xsmall: { ... }, small: { ... }, medium: { ... }, large: { ... }, xlarge: { ... }
}

Viewport
Copy code

Navigation - Desktop

Change demo
Desktop

Bottom and Tab navigation can be equally fitting for managing content on desktop web apps and large screens.

You can choose between one and the other depending on you content layout or use both like in this example.

Copy code

Looking for something you didn't see or have a sales question?
Ask us about it, we're here to help.

Customize & try demos locally
Sign in or start your free trial

What framework are you using?

Javascript
jQuery
AngularJS
Angular
React
Other
Ionic Angular
Email address

Install demo in your app
Follow this quick, two minute install guide
Close window

Step 1.Install the Mobiscroll CLI from npm

Copy command
$ npm install -g @mobiscroll/cli

The CLI makes configuring your apps super simple 👍

Step 2.Run the following command in the root folder of your Ionic project

Copy command
$ mobiscroll config ionic --version=4

You will be prompted to log in with your mobiscroll account. Set your password here

Create an Ionic 3 & Mobiscroll starter with the CLI:

$ mobiscroll start ionic myStarter

Run this command for Ionic 4 & Mobiscroll starter:

$ mobiscroll start ionic-angular myStarter

Step 3.Copy the code into your app.

Copy TS
Copy HTML
Copy CSS
Copy Module

Step 4.Run ionic serve in the root folder of your app 🎉

Copy command
$ ionic serve

And voilà, everything should be running smoothly.

Install demo in your app
Follow this quick, two minute install guide
Close window

Step 1.Install the Mobiscroll CLI from npm

Copy command
$ npm install -g @mobiscroll/cli

The CLI makes configuring your apps super simple 👍

Step 2.Run the following command in the root folder of your Ionic project

Copy command
$ mobiscroll config ionic --version=4

You will be prompted to log in with your mobiscroll account. Set your password here

Run this command for Ionic 5 & React Mobiscroll starter:

$ mobiscroll start react-ionic myStarter

Step 3.Copy the code into your app.

Copy TSX
Copy CSS

Step 4.Run ionic serve in the root folder of your app 🎉

Copy command
$ ionic serve

And voilà, everything should be running smoothly.

Customize & try demos locally
How would you like to do it?
Install demo in your app
Follow this quick, two minute install guide
Close window

Step 1.Install the Mobiscroll CLI from npm

Copy command
$ npm install -g @mobiscroll/cli

The CLI makes configuring your apps super simple 👍

Step 2.Run the following command in the root folder of your Angular project

Copy command
$ mobiscroll config angular --version=4

You will be prompted to log in with your mobiscroll account. Set your password here

Step 3.Copy the code into your app. HTML goes into the markup, TS into Typescript.

Copy TS
Copy HTML
Copy CSS
Copy Module

Step 4.Run ng serve in the root folder of your app 🎉

Copy command
$ ng serve

And voilà, everything should be running smoothly.

Thanks for downloading
Try and customize the app locally

Extract the zip file and run the project like any Ionic app. Make sure to have Ionic CLI installed and open the terminal in the app root folder.

Step 1. Run in root folder
$ npm install
Step 2. Start the app
$ ionic serve

Let us know if we can help and enjoy!

Thanks for downloading
Customize demos locally

Everything is set up so that you can dig in right away and start exploring.

We have set up a trial so that you can try the demos locally.

Extract the zip file and open the demo in your favorite browser. To install Mobiscroll in your project follow instructions from this page.


Let us know if we can help and enjoy! 👍

Thanks for downloading
Customize demos locally

Please extract the zip file and run the project like any Angular CLI app. Make sure to have the Angular CLI installed.

For installation and usage, extract the zip file and open a terminal window and follow these steps.

Step 1. Run in root folder
$ npm install
Step 2. Start the app
$ ng serve --open

Let us know if we can help and enjoy! 👍

Thanks for downloading
Customize demos locally

Everything is set up so that you can dig in right away and start exploring.

We have set up a trial so that you can try the demos locally.

The easiest way to get started is to follow the installation steps and by grabbing the code directly from the demo page. Let us know if we can help and enjoy! 👍

You'll find a fully functional Kitchen-sink Ionic app in the zip file.

Thanks for downloading
Customize demos locally

Everything is set up so that you can dig in right away and start exploring.

We have set up a trial so that you can try the demos locally.

The demos are using Babel's in-browser ES6 and JSX transformer.
Extract the zip file and open the demo in your browser. To install Mobiscroll in your project follow instructions from this page.


Let us know if we can help and enjoy! 👍

Customize & try this demo locally
Sign in or start your free trial

We have to set you up with a trial for this to run 👍

Email address

Need to update your password?
Demos
Theme Select
Mobiscroll
Material
Material Dark
iOS
iOS Dark
Windows
Windows Dark
Language Locale
See other demos and change options
Theme
Locale
See other demos