这是一款简洁的bootstrap垂直tab选项卡。该选项卡在bootstrap原有的选项卡插件的基础上,通过添加一些css样式,将它显示为垂直的选项卡。
使用方法
在页面中引入下面的文件。
<link rel= "stylesheet" href= "https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" >
<link rel= "stylesheet" href= "http://jrain.oscitas.netdna-cdn.com/tutorial/css/fontawesome-all.min.css" >
<script src= "js/jquery-1.11.0.min.js" type= "text/javascript" ></script>
<script src= "https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js" ></script>
|
HTML结构
< div class = "container" >
< div class = "row" >
< div class = "col-md-6" >
< div class = "vertical-tab" role = "tabpanel" >
<!-- Nav tabs -->
< ul class = "nav nav-tabs" role = "tablist" >
< li role = "presentation" class = "active" >< a href = "#Section1" aria-controls = "home" role = "tab" data-toggle = "tab" >Section 1</ a ></ li >
< li role = "presentation" >< a href = "#Section2" aria-controls = "profile" role = "tab" data-toggle = "tab" >Section 2</ a ></ li >
< li role = "presentation" >< a href = "#Section3" aria-controls = "messages" role = "tab" data-toggle = "tab" >Section 3</ a ></ li >
</ ul >
<!-- Tab panes -->
< div class = "tab-content tabs" >
< div role = "tabpanel" class = "tab-pane fade in active" id = "Section1" >
< h3 >Section 1</ h3 >
< p >Lorem ipsum dolor sit amet...</ p >
</ div >
< div role = "tabpanel" class = "tab-pane fade" id = "Section2" >
< h3 >Section 2</ h3 >
< p >Lorem ipsum dolor sit amet...</ p >
</ div >
< div role = "tabpanel" class = "tab-pane fade" id = "Section3" >
< h3 >Section 3</ h3 >
< p >Lorem ipsum dolor sit amet,...</ p >
</ div >
</ div >
</ div >
</ div >
</ div >
</ div >
|
CSS样式
a:hover,a:focus{
text-decoration : none ;
outline : none ;
}
.vertical-tab{
font-family : 'Chivo' , sans-serif ;
display : table;
}
.vertical-tab .nav-tabs{
display : table-cell ;
width : 28% ;
min-width : 28% ;
vertical-align : top ;
border : none ;
border-right : 3px solid #e7e7e7 ;
}
.vertical-tab .nav-tabs li{
float : none ;
vertical-align : top ;
}
.vertical-tab .nav-tabs li a{
color : #444 ;
background : #fff ;
font-size : 18px ;
font-weight : 700 ;
text-align : center ;
letter-spacing : 1px ;
text-transform : uppercase ;
padding : 10px 20px ;
margin : 0 0 1px 0 ;
border : none ;
transition : all 0.3 s ease 0 s;
}
.vertical-tab .nav-tabs li a:hover,
.vertical-tab .nav-tabs li.active a,
.vertical-tab .nav-tabs li.active a:hover{
color : #198df8 ;
background : #fff ;
border : none ;
}
.vertical-tab .nav-tabs li a:before,
.vertical-tab .nav-tabs li a:after{
content : "\f054" ;
color : #198df8 ;
font-family : "Font Awesome 5 Free" ;
font-weight : 900 ;
font-size : 18px ;
opacity : 0 ;
transform : translateY ( -50% );
position : absolute ;
top : 50% ;
right : -4px ;
z-index : 1 ;
transition : all 0.3 s ease 0.1 s;
}
.vertical-tab .nav-tabs li a:after{
content : "" ;
background : #198df8 ;
width : 3px ;
height : 100% ;
transform : translateY ( 0 );
top : 0 ;
right : 8px ;
transition : all 0.3 s ease 0 s;
}
.vertical-tab .nav-tabs li a:hover:before,
.vertical-tab .nav-tabs li.active a:before{
opacity : 1 ;
right : -17px ;
}
.vertical-tab .nav-tabs li a:hover:after,
.vertical-tab .nav-tabs li.active a:after{
opacity : 1 ;
right : -3px ;
}
.vertical-tab .tab-content{
color : #555 ;
background-color : #fff ;
font-size : 15px ;
letter-spacing : 1px ;
line-height : 23px ;
padding : 10px 15px 10px 25px ;
display : table-cell ;
position : relative ;
}
.vertical-tab .tab-content h 3 {
font-weight : 600 ;
text-transform : uppercase ;
margin : 0 0 5px 0 ;
}
@media only screen and ( max-width : 479px ){
.vertical-tab .nav-tabs{
display : block ;
width : 100% ;
border-right : none ;
}
.vertical-tab .nav-tabs li a{
padding : 7px 7px ;
margin : 0 0 18px 0 ;
}
.vertical-tab .nav-tabs li a:before,
.vertical-tab .nav-tabs li a:after{
transform : translateY ( 0 ) translateX ( 50% ) rotate ( 90 deg);
right : 50% ;
top : auto ;
bottom : 0 ;
}
.vertical-tab .nav-tabs li a:after{
width : 50% ;
height : 3px ;
transform : translateY ( 0 ) translateX ( 50% ) rotate ( 0 );
}
.vertical-tab .nav-tabs li a:hover:before,
.vertical-tab .nav-tabs li.active a:before{
bottom : -22px ;
right : 50% ;
}
.vertical-tab .nav-tabs li a:hover:after,
.vertical-tab .nav-tabs li.active a:after{
bottom : -2px ;
right : 50% ;
}
.vertical-tab .tab-content{
border-top : 3px solid #e7e7e7 ;
display : block ;
padding : 20px 15px 10px ;
}
.vertical-tab .tab-content h 3 { font-size : 18px ; }
}
|