Reputation: 4142
Using Bootstrap, I'm using this vertical tabs however, I want to make the active tab into a pointy end towards the right side but all I got is a rounded edge. How should I go ahead?
I heard it can be done with :after but I failed to get it going.
<div class="container">
<ul class="nav nav-pills nav-stacked col-md-3">
<li class="active"><a href="#tab_a" data-toggle="pill"><span class="icon icon-percentage"></span> Sales <span class="pull-right">6</span></a></li>
<li><a href="#tab_b" data-toggle="pill"><span class="icon icon-cube"></span> Operations</a></li>
<li><a href="#tab_c" data-toggle="pill"><span class="icon icon-labs"></span> Labs</a></li>
<li><a href="#tab_d" data-toggle="pill"><span class="icon icon-delivery"></span> Enabling Functions</a></li>
</ul>
<div class="JobsListing tab-content col-md-9">
<div class="tab-pane active" id="tab_a">
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="tab-pane fade" id="tab_b">
<h4>Pane B</h4>
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="tab-pane fade" id="tab_c">
<h4>Pane C</h4>
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="tab-pane fade" id="tab_d">
<h4>Pane D</h4>
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
CSS:
.nav-pills>li>a {
border-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 25px;
border-top-right-radius: 25px;
}
Upvotes: 0
Views: 360
Reputation: 881
Use this css
.nav-pills>li>a {
border-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 25px;
border-top-right-radius: 25px;
}
.nav-pills>li.active a{
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.nav-pills>li.active:after {
content:"";
position: absolute;
left: 100%;
top:0px;
width:0px;
height:0px;
border-top:20px solid transparent;
border-left:40px solid #337ab7;
border-bottom:20px solid transparent;
}
Upvotes: 3
Reputation: 4250
Using :after/:before
pseudo css elements you can achieve this.
Below is an exampple code.
.nav-pills {
margin-top: 30px;
}
.nav-pills>li>a {
border-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 0px;
border-top-right-radius: 0px;
padding-right: 22px !important;
}
.nav-pills>li {
position: relative;
}
.nav-pills>li.active::before {
content: '';
position: absolute;
width: 28px;
height: 28px;
background: #337ab7;
ht: 0px;
z-index: 9999;
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
right: -14px;
top: 6px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<ul class="nav nav-pills nav-stacked col-xs-3">
<li class="active"><a href="#tab_a" data-toggle="pill"><span class="icon icon-percentage"></span> Sales <span class="pull-right">6</span></a></li>
<li><a href="#tab_b" data-toggle="pill"><span class="icon icon-cube"></span> Operations</a></li>
<li><a href="#tab_c" data-toggle="pill"><span class="icon icon-labs"></span> Labs</a></li>
<li><a href="#tab_d" data-toggle="pill"><span class="icon icon-delivery"></span> Enabling Functions</a></li>
</ul>
<div class="JobsListing tab-content col-xs-9">
<div class="tab-pane active" id="tab_a">
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="tab-pane fade" id="tab_b">
<h4>Pane B</h4>
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="tab-pane fade" id="tab_c">
<h4>Pane C</h4>
<p>Lorem ipsum dolor sit amet</p>
</div>
<div class="tab-pane fade" id="tab_d">
<h4>Pane D</h4>
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
Upvotes: 1
Reputation: 5401
Use this css
, just change the value of the border-radius
to your liking:
.nav-pills>li.active {
border-radius: 0;
}
Upvotes: 0