2015-10-13 15 views
5

sto lavorando su Bootstrap e ho avuto requisito come qui di seguito un'immagine ...Bootstrap Navbar - Menu questione Articoli confine

Online Demo

Requisito

Requirement

Sono in grado di ge tutto, eccetto l'altezza del confine. L'altezza del bordo non deve provenire dall'alto e terminare in basso. Ma la parte difficile è, Altezza totale dovrebbe essere cliccabile ... :(

Quello che sto ottenendo

Issue

HTML

<nav class="navbar navbar-default"> 
    <div class="container-fluid"> 
    <ul class="nav navbar-nav"> 
     <li><a href="#">Link 1</a></li> 
     <li><a href="#">Link 2</a></li> 
     <li><a href="#">Link 3</a></li> 
     <li><a href="#">Link 4</a></li> 
    </ul> 
    </div> 
</nav> 

CSS

.navbar-default{background:#005986;} 
.navbar{border:0;border-radius:0;} 
ul.nav{border-right:1px solid #84B6D0;} 
ul.nav li a{border-left:1px solid #84B6D0;color:#fff; } 
.navbar-default .navbar-nav>li>a,.navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:hover{color:#fff;} 
.navbar-default .navbar-nav>li>a:hover{background:#022E44;} 

risposta

5

È possibile utilizzare psuedo-elementafter e before per raggiungere questo

.navbar-default { 
 
    background: #005986; 
 
} 
 
.navbar { 
 
    border: 0; 
 
    border-radius: 0; 
 
} 
 
ul.nav { 
 
    list-style: none; 
 
    border-right: 1px solid #84B6D0; 
 
} 
 
ul.nav li { 
 
    padding: 20px 0; 
 
    display: inline-block; 
 
} 
 
ul.nav li a { 
 
    padding: 20px 10px; 
 
    color: #fff; 
 
    position: relative; 
 
} 
 
ul.nav li a:after { 
 
    position: absolute; 
 
    content: ""; 
 
    width: 2px; 
 
    height: 60%; 
 
    right: 0; 
 
    background: #fff; 
 
    top: 50%; 
 
    transform: translate(0, -50%); 
 
} 
 
ul.nav li:first-child a:before { 
 
    position: absolute; 
 
    content: ""; 
 
    width: 2px; 
 
    height: 60%; 
 
    left: 0; 
 
    background: #fff; 
 
    top: 50%; 
 
    transform: translate(0, -50%); 
 
} 
 
.navbar-default .navbar-nav>li>a, 
 
.navbar-default .navbar-nav>li>a:focus, 
 
.navbar-default .navbar-nav>li>a:hover { 
 
    color: #fff; 
 
} 
 
.navbar-default .navbar-nav>li>a:hover { 
 
    background: #022E44; 
 
}
<nav class="navbar navbar-default"> 
 
    <div class="container-fluid"> 
 
    <ul class="nav navbar-nav"> 
 
     <li><a href="#">Link 1</a> 
 
     </li> 
 
     <li><a href="#">Link 2</a> 
 
     </li> 
 
     <li><a href="#">Link 3</a> 
 
     </li> 
 
     <li><a href="#">Link 4</a> 
 
     </li> 
 
    </ul> 
 
    </div> 
 
</nav>

+0

** @ Akshay **. .. Eccellente .. questo è esattamente quello che voglio .. Grazie per aver salvato la mia giornata – Reddy

+0

nP @Reddy felice di poter aiutare – Akshay

0
.navbar-default { 
    background: #005986; 
} 

.navbar { 
    border: 0; 
    border-radius: 0; 
} 

ul.nav li:last-child a { 
    border-right: 1px solid #84B6D0; 
    color: #fff; 
    margin-top: 10px; 
    margin-bottom: 10px; 
} 

ul.nav li a { 
    border-left: 1px solid #84B6D0; 
    color: #fff; 
    margin-top: 10px; 
    margin-bottom: 10px; 
} 

.navbar-default .navbar-nav>li>a, .navbar-default .navbar-nav>li>a:focus, 
    .navbar-default .navbar-nav>li>a:hover { 
    color: #fff; 
} 

.navbar-default .navbar-nav>li>a:hover { 
    background: #022E44; 
} 
+0

basta sostituire il codice css con questo codice css –

Problemi correlati