简洁的bootstrap垂直tab选项卡
这是一款简洁的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 ; } } |