Issue
My nav pills can be multiple and I want to vertical scroll bar if exceed the limit of regular window/screen. I'm loading tabs dynamically and nav pills exceed screen. how can i managed to make nav pill scrollable?
/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*/
.nav-pills-custom .nav-link {
color: #aaa;
background: #fff;
position: relative;
}
.nav-pills-custom .nav-link.active {
color: #45b649;
background: #fff;
}
/* Add indicator arrow for the active tab */
@media (min-width: 992px) {
.nav-pills-custom .nav-link::before {
content: '';
display: block;
border-top: 8px solid transparent;
border-left: 10px solid #fff;
border-bottom: 8px solid transparent;
position: absolute;
top: 50%;
right: -10px;
transform: translateY(-50%);
opacity: 0;
}
}
.nav-pills-custom .nav-link.active::before {
opacity: 1;
}
/*
*
* ==========================================
* FOR DEMO PURPOSE
* ==========================================
*/
body {
min-height: 100vh;
background: linear-gradient(to left, #dce35b, #45b649);
}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<!-- Demo header-->
<section class="py-5 header">
<div class="container py-4">
<header class="text-center mb-5 pb-5 text-white">
<h1 class="display-4">Bootstrap vertical tabs</h1>
<p class="font-italic mb-1">Making advantage of Bootstrap 4 components, easily build an awesome tabbed interface.</p>
<p class="font-italic">Snippet by
<a class="text-white" href="https://bootstrapious.com/">
<u>Bootstrapious</u>
</a>
</p>
</header>
<div class="row">
<div class="col-md-3">
<!-- Tabs nav -->
<div class="nav flex-column nav-pills nav-pills-custom" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<a class="nav-link mb-3 p-3 shadow active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">
<i class="fa fa-user-circle-o mr-2"></i>
<span class="font-weight-bold small text-uppercase">Personal information</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-profile-tab" data-toggle="pill" href="#v-pills-profile" role="tab" aria-controls="v-pills-profile" aria-selected="false">
<i class="fa fa-calendar-minus-o mr-2"></i>
<span class="font-weight-bold small text-uppercase">Bookings</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">
<i class="fa fa-star mr-2"></i>
<span class="font-weight-bold small text-uppercase">Reviews</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-selected="false">
<i class="fa fa-check mr-2"></i>
<span class="font-weight-bold small text-uppercase">Confirm booking</span></a>
</div>
</div>
<div class="col-md-9">
<!-- Tabs content -->
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade shadow rounded bg-white show active p-5" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">
<h4 class="font-italic mb-4">Personal information</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="tab-pane fade shadow rounded bg-white p-5" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">
<h4 class="font-italic mb-4">Bookings</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="tab-pane fade shadow rounded bg-white p-5" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">
<h4 class="font-italic mb-4">Reviews</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="tab-pane fade shadow rounded bg-white p-5" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">
<h4 class="font-italic mb-4">Confirm booking</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</div>
</div>
</section>
MY nav pills can be multiple so my page can be stretch. here is my fiddle https://jsfiddle.net/bootstrapious/68o3pmcv/
Solution
Try this:
/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*/
.nav-pills-custom .nav-link {
color: #aaa;
background: #fff;
position: relative;
}
.nav-pills-custom .nav-link.active {
color: #45b649;
background: #fff;
}
.nav {
display: block !important;
height: 300px;
overflow-y: scroll;
}
.nav a {
width: 95%;
}
.nav-pills-custom .nav-link.active::before {
opacity: 1;
}
/* Add indicator arrow for the active tab */
@media (min-width: 992px) {
.nav-pills-custom .nav-link::before {
content: '';
display: block;
border-top: 8px solid transparent;
border-left: 10px solid #fff;
border-bottom: 8px solid transparent;
position: absolute;
top: 50%;
right: -10px;
transform: translateY(-50%);
opacity: 0;
}
}
/*
*
* ==========================================
* FOR DEMO PURPOSE
* ==========================================
*/
body {
min-height: 100vh;
background: linear-gradient(to left, #dce35b, #45b649);
}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<!-- Demo header-->
<section class="py-5 header">
<div class="container py-4">
<header class="text-center mb-5 pb-5 text-white">
<h1 class="display-4">Bootstrap vertical tabs</h1>
<p class="font-italic mb-1">Making advantage of Bootstrap 4 components, easily build an awesome tabbed interface.</p>
<p class="font-italic">Snippet by
<a class="text-white" href="https://bootstrapious.com/">
<u>Bootstrapious</u>
</a>
</p>
</header>
<div class="row">
<div class="col-md-3">
<!-- Tabs nav -->
<div class="nav flex-column nav-pills nav-pills-custom" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<a class="nav-link mb-3 p-3 shadow active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">
<i class="fa fa-user-circle-o mr-2"></i>
<span class="font-weight-bold small text-uppercase">Personal information</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-profile-tab" data-toggle="pill" href="#v-pills-profile" role="tab" aria-controls="v-pills-profile" aria-selected="false">
<i class="fa fa-calendar-minus-o mr-2"></i>
<span class="font-weight-bold small text-uppercase">Bookings</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">
<i class="fa fa-star mr-2"></i>
<span class="font-weight-bold small text-uppercase">Reviews</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">
<i class="fa fa-star mr-2"></i>
<span class="font-weight-bold small text-uppercase">Reviews</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">
<i class="fa fa-star mr-2"></i>
<span class="font-weight-bold small text-uppercase">Reviews</span></a>
<a class="nav-link mb-3 p-3 shadow" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-selected="false">
<i class="fa fa-check mr-2"></i>
<span class="font-weight-bold small text-uppercase">Confirm booking</span></a>
</div>
</div>
<div class="col-md-9">
<!-- Tabs content -->
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade shadow rounded bg-white show active p-5" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">
<h4 class="font-italic mb-4">Personal information</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="tab-pane fade shadow rounded bg-white p-5" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">
<h4 class="font-italic mb-4">Bookings</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="tab-pane fade shadow rounded bg-white p-5" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">
<h4 class="font-italic mb-4">Reviews</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="tab-pane fade shadow rounded bg-white p-5" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">
<h4 class="font-italic mb-4">Confirm booking</h4>
<p class="font-italic text-muted mb-2">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</div>
</div>
</section>
Answered By - Rizeen
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.