What is Bootstrap Pagination?
Pills are quasi-navigation components which can highly improve website clarity and increase user experience.
Installation
Manual installation (zip package)
To take advantage of our Bootstrap images component and use them in your project, you first need to install the MDB 5 Free package
MDB CLI
Watch our Quick Start Tutorial to discover and use the full potential of MDB 5 and MDB CLI
NPM
Prerequisites
Before starting the project make sure to install Node LTS (12.x.x recommended).
Installation
To install MDB UI KIT in your project easily type the following command in the terminal:
npm i mdb-ui-kit
Importing JS modules
You can import the entire library or just individual modules:
import * as mdb from 'mdb-ui-kit'; // lib
import { Input } from 'mdb-ui-kit'; // module
Importing CSS file
To import MDB stylesheet please use the following syntax:
@import '~mdb-ui-kit/css/mdb.min.css';
Importing SCSS modules
You can also import individual SCSS modules. To do it properly, we recommend to copy them from the node_modules/mdb-ui-kit/src/scss location directly to your project and import in the same way as CSS files.
Webpack integration
You can significantly speed up the process of creating a new project based on Webpack using our Starter.
CDN
Installation via CDN is one of the easiest methods of integrating MDB UI KIT with your project. Just copy the latest compiled JS script tag and CSS link tag from cdnjs to the application.
Don't forget to add also Font Awesome and Roboto font if you need. Here's an example code:
CSS
<!-- Font Awesome -->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
rel="stylesheet"
/>
<!-- Google Fonts -->
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
rel="stylesheet"
/>
<!-- MDB -->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.css"
rel="stylesheet"
/>
JS
<!-- MDB -->
<script
type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.js"
></script>
Customization
Basic example
Basic pills are divided into 2 main sections - Pills navs (containing nav-items
) and Pills content (containing tab-panes
).
Use id
and href
attribute to connect pills navs with pills content.
In the example below Tab 1 uses href="#ex1-pills-1"
in the first nav-link
element to connect it with the first tab-pane
which has an ID ex1-pills-1.
<!-- Pills navs -->
<ul class="nav nav-pills mb-3" id="ex1" role="tablist">
<li class="nav-item" role="presentation">
<a
class="nav-link active"
id="ex1-tab-1"
data-mdb-toggle="pill"
href="#ex1-pills-1"
role="tab"
aria-controls="ex1-pills-1"
aria-selected="true"
>Tab 1</a
>
</li>
<li class="nav-item" role="presentation">
<a
class="nav-link"
id="ex1-tab-2"
data-mdb-toggle="pill"
href="#ex1-pills-2"
role="tab"
aria-controls="ex1-pills-2"
aria-selected="false"
>Tab 2</a
>
</li>
<li class="nav-item" role="presentation">
<a
class="nav-link"
id="ex1-tab-3"
data-mdb-toggle="pill"
href="#ex1-pills-3"
role="tab"
aria-controls="ex1-pills-3"
aria-selected="false"
>Tab 3</a
>
</li>
</ul>
<!-- Pills navs -->
<!-- Pills content -->
<div class="tab-content" id="ex1-content">
<div
class="tab-pane fade show active"
id="ex1-pills-1"
role="tabpanel"
aria-labelledby="ex1-tab-1"
>
Tab 1 content
</div>
<div class="tab-pane fade" id="ex1-pills-2" role="tabpanel" aria-labelledby="ex1-tab-2">
Tab 2 content
</div>
<div class="tab-pane fade" id="ex1-pills-3" role="tabpanel" aria-labelledby="ex1-tab-3">
Tab 3 content
</div>
</div>
<!-- Pills content -->
Fill and justify
Force your .nav's contents to extend the full available width one of two modifier classes.
Fill
To proportionately fill all available space with your .nav-items
, use .nav-fill
. Notice that all horizontal space is occupied, but not every nav item has the same width.
<!-- Pills navs -->
<ul class="nav nav-pills nav-fill mb-3" id="ex1" role="tablist">
<li class="nav-item" role="presentation">
<a
class="nav-link active"
id="ex2-tab-1"
data-mdb-toggle="pill"
href="#ex2-pills-1"
role="tab"
aria-controls="ex2-pills-1"
aria-selected="true"
>Link</a
>
</li>
<li class="nav-item" role="presentation">
<a
class="nav-link"
id="ex2-tab-2"
data-mdb-toggle="pill"
href="#ex2-pills-2"
role="tab"
aria-controls="ex2-pills-2"
aria-selected="false"
>Very very very very long link</a
>
</li>
<li class="nav-item" role="presentation">
<a
class="nav-link"
id="ex2-tab-3"
data-mdb-toggle="pill"
href="#ex2-pills-3"
role="tab"
aria-controls="ex2-pills-3"
aria-selected="false"
>Another link</a
>
</li>
</ul>
<!-- Pills navs -->
<!-- Pills content -->
<div class="tab-content" id="ex2-content">
<div
class="tab-pane fade show active"
id="ex2-pills-1"
role="tabpanel"
aria-labelledby="ex2-tab-1"
>
Tab 1 content
</div>
<div
class="tab-pane fade"
id="ex2-pills-2"
role="tabpanel"
aria-labelledby="ex2-tab-2"
>
Tab 2 content
</div>
<div
class="tab-pane fade"
id="ex2-pills-3"
role="tabpanel"
aria-labelledby="ex2-tab-3"
>
Tab 3 content
</div>
</div>
<!-- Pills content -->
Justify
For equal-width elements, use .nav-justified
. All horizontal space will be occupied by nav links, but unlike the .nav-fill
above, every nav item will be the same width.
<!-- Pills navs -->
<ul class="nav nav-pills nav-justified mb-3" id="ex1" role="tablist">
<li class="nav-item" role="presentation">
<a
class="nav-link active"
id="ex3-tab-1"
data-mdb-toggle="pill"
href="#ex3-pills-1"
role="tab"
aria-controls="ex3-pills-1"
aria-selected="true"
>Link</a
>
</li>
<li class="nav-item" role="presentation">
<a
class="nav-link"
id="ex3-tab-2"
data-mdb-toggle="pill"
href="#ex3-pills-2"
role="tab"
aria-controls="ex3-pills-2"
aria-selected="false"
>Very very very very long link</a
>
</li>
<li class="nav-item" role="presentation">
<a
class="nav-link"
id="ex3-tab-3"
data-mdb-toggle="pill"
href="#ex3-pills-3"
role="tab"
aria-controls="ex3-pills-3"
aria-selected="false"
>Another link</a
>
</li>
</ul>
<!-- Pills navs -->
<!-- Pills content -->
<div class="tab-content" id="ex2-content">
<div
class="tab-pane fade show active"
id="ex3-pills-1"
role="tabpanel"
aria-labelledby="ex3-tab-1"
>
Tab 1 content
</div>
<div
class="tab-pane fade"
id="ex3-pills-2"
role="tabpanel"
aria-labelledby="ex3-tab-2"
>
Tab 2 content
</div>
<div
class="tab-pane fade"
id="ex3-pills-3"
role="tabpanel"
aria-labelledby="ex3-tab-3"
>
Tab 3 content
</div>
</div>
<!-- Pills content -->
You can see more customization examples on the π Pills documentation page
Crucial Resources
Here are the resources that we have prepared to help you work with this component:
- Read π Pills documentation page <-- start here
- In to get the most out of your project, you should also get acquainted with other Navigation options related to Pills. See the section below to find the list of them.
- You can use predesigned Navigation elements in π₯ Starter Bootstrap 5 templates
- Templates are a part of π¦ Free UI Kit for Bootstrap 5
- After finishing the project you can publish it with CLI in order to receive π½ Free hosting (beta)
Related Content and Styles options & features
Learn Bootstrap 5 in 1.5H
Additional resources
Learn web development with our learning roadmap:
π Start Learning
Join our mailing list & receive exclusive resources for developers
π Get gifts
Join our private FB group for inspiration & community experience
π¨βπ©βπ§βπ¦ Ask to join
Support creation of open-source packages with a STAR on GitHub